Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quelle est la différence entre =et :=dans MySQL ?

Tous deux sont des opérateurs d'affectation mais une chose que je peux trouver leurs différences est que = peut être utilisé pour effectuer une opération booléenne tandis que := ne peut pas.

valide :SOMME(val =0)
Non valide :SOMME(val :=0)

DES Variables définies par l'utilisateur

Encore une chose, Vous pouvez également affecter une valeur à une variable utilisateur dans des instructions autres que SET. Dans ce cas, l'opérateur d'affectation doit être :=et non =car ce dernier est traité comme l'opérateur de comparaison =dans les instructions non 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 | 
+------+------+------+--------------------+