どちらも代入演算子です しかし、私がそれらの違いを見つけることができる1つのことは、=
:=
の間にブール演算を実行するために使用できます できません。
有効 :SUM(val =0)
無効:SUM(val:=0)
もう1つ、SET以外のステートメントでユーザー変数に値を割り当てることもできます。この場合、代入演算子は=ではなく:=である必要があります。これは、後者が非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 |
+------+------+------+--------------------+