我跑了......
update TABLE set COLUMN1='XXX' and COLUMN2='YYY' where ID=9999;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
正确查询:
update TABLE set COLUMN1='XXX' , COLUMN2='YYY' where ID=9999;
为什么MYSQL没有抛出任何错误?
答案 0 :(得分:2)
我刚检查过它,看起来像MySQL对待
像表达一样。所以它比较了COLUMN2和'YYY'的值,获得布尔结果并执行'XXX'和那个结果,所以你可能在COLUMN1中得到0,因为'XXX'不是DOUBLE / INTEGER / BOOLEAN。 COLUMN2将保持不变。'XXX'和COLUMN2 ='YYY'
这种方式这个查询不是错误的,它只是不符合你的预期。