Keduanya adalah operator penugasan tetapi satu hal yang dapat saya temukan perbedaannya adalah =
dapat digunakan untuk melakukan operasi boolean saat :=
tidak bisa.
valid :SUM(val =0)
Tidak valid:SUM(val :=0)
Satu hal lagi, Anda juga dapat menetapkan nilai ke variabel pengguna dalam pernyataan selain SET. Dalam hal ini, operator penugasan harus :=dan bukan =karena yang terakhir diperlakukan sebagai operator pembanding =dalam pernyataan 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 |
+------+------+------+--------------------+