sql >> Databáze >  >> RDS >> Mysql

Jaký je rozdíl mezi =a :=v MySQL?

Oba jsou operátory přiřazení ale jedna věc, kterou mohu najít jejich rozdíly, je, že = lze použít k provedení booleovských operací při := nelze.

platný :SUM(hodnota =0)
Neplatné:SUM(hodnota:=0)

Z uživatelsky definovaných proměnných

Ještě jedna věc, Můžete také přiřadit hodnotu uživatelské proměnné v jiných příkazech než SET. V tomto případě musí být operátor přiřazení :=a ne =, protože druhý je považován za operátor porovnání =v příkazech bez SET.

mysql> SET @t1=1, @t2=2, @t3:=4;
mysql> SELECT @t1, @t2, @t3, @t4 := @[email protected][email protected];
+------+------+------+--------------------+
| @t1  | @t2  | @t3  | @t4 := @[email protected][email protected] |
+------+------+------+--------------------+
|    1 |    2 |    4 |                  7 | 
+------+------+------+--------------------+


  1. Znovu použijte připojení MySQL Dědičnost objektů PHP

  2. Mysql AVG ignoruje nulu

  3. PostgreSQL DATEADD() Ekvivalent

  4. Jak optimalizovat UPDATE dotaz „col =col + 1“, který běží na více než 100 000 záznamech?