Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie mehrere Spalten mit demselben Wert, kurze Syntax

Beides ist nicht wahr.
Der Ausdruck:

c1=c2=1

wird wie folgt ausgewertet:

c1=(c2=1)

Für MySql der boolesche Ausdruck c2=1 wird zu 0 ausgewertet oder 1 für false oder true bzw.
Also 0 oder 1 wird c1 zugewiesen und in diesem Fall seit c2=1 ist false das Ergebnis ist 0 .
Sie müssen für jede Spalte separate Zuweisungen verwenden:

update t1 
set 
  c1=1,
  c2=1;