sql >> Database >  >> RDS >> Mysql

Wat is het verschil tussen =en :=in MySQL?

Beiden zijn toewijzingsoperators maar een ding dat ik hun verschillen kan vinden, is dat = kan worden gebruikt om booleaanse bewerkingen uit te voeren terwijl := kan niet.

geldig :SUM(waarde =0)
Ongeldig:SUM(waarde:=0)

VAN door de gebruiker gedefinieerde variabelen

Nog een ding, U kunt ook een waarde toewijzen aan een gebruikersvariabele in andere instructies dan SET. In dit geval moet de toewijzingsoperator :=zijn en niet =omdat deze laatste wordt behandeld als de vergelijkingsoperator =in niet-SET-instructies.

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 | 
+------+------+------+--------------------+


  1. Afteltimer-php+mysql+js

  2. int naar string in MySQL

  3. Verkrijg de veldwaarde met een cursor

  4. SQL-tijdsverschil binnen enkele tabel