Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist der Unterschied zwischen =und :=in MySQL?

Beide sind Zuweisungsoperatoren aber eine Sache, die ich ihre Unterschiede finden kann, ist, dass = kann verwendet werden, um boolesche Operationen auszuführen, während := nicht.

gültig :SUM(val =0)
Ungültig:SUM(val :=0)

VON benutzerdefinierten Variablen

Und noch etwas:Sie können einer Benutzervariablen auch in anderen Anweisungen als SET einen Wert zuweisen. In diesem Fall muss der Zuweisungsoperator :=und nicht =sein, da letzterer in Nicht-SET-Anweisungen als Vergleichsoperator =behandelt wird.

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 | 
+------+------+------+--------------------+