Begge er tildelingsoperatører men en ting jeg kan finde deres forskelle er at =
kan bruges til at udføre boolesk operation, mens :=
kan ikke.
gyldig :SUM(val =0)
Ugyldig:SUM(val :=0)
FRA brugerdefinerede variabler
En ting mere, Du kan også tildele en værdi til en brugervariabel i andre sætninger end SET. I dette tilfælde skal tildelingsoperatoren være :=og ikke =, fordi sidstnævnte behandles som sammenligningsoperatoren =i ikke-SET-sætninger.
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 |
+------+------+------+--------------------+