Båda är uppdragsoperatörer men en sak jag kan hitta skillnaderna mellan dem är att =
kan användas för att utföra boolesk operation medan :=
kan inte.
giltig :SUM(val =0)
Ogiltig:SUM(val :=0)
FRÅN användardefinierade variabler
En sak till, Du kan också tilldela ett värde till en användarvariabel i andra satser än SET. I det här fallet måste tilldelningsoperatorn vara :=och inte =eftersom den senare behandlas som jämförelseoperator =i icke-SET-satser.
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 |
+------+------+------+--------------------+