Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è la differenza tra =e :=in MySQL?

Entrambi sono operatori di assegnazione ma una cosa che posso trovare le loro differenze è che = può essere utilizzato per eseguire operazioni booleane mentre := non può.

valido :SUM(val =0)
Non valido:SUM(val :=0)

DA variabili definite dall'utente

Un'altra cosa, Puoi anche assegnare un valore a una variabile utente in istruzioni diverse da SET. In questo caso, l'operatore di assegnazione deve essere :=e non =perché quest'ultimo viene trattato come l'operatore di confronto =nelle istruzioni 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 | 
+------+------+------+--------------------+