sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es la diferencia entre =y :=en MySQL?

Ambos son operadores de asignación pero una cosa que puedo encontrar sus diferencias es que = se puede usar para realizar una operación booleana mientras := no puede.

válido :SUMA(valor =0)
Inválido:SUMA(valor :=0)

DE Variables definidas por el usuario

Una cosa más, También puede asignar un valor a una variable de usuario en declaraciones que no sean SET. En este caso, el operador de asignación debe ser :=y no =porque este último se trata como el operador de comparación =en declaraciones que no son 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 | 
+------+------+------+--------------------+