我跑了
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没有抛出任何错误?
我刚刚检查了一下,看起来像MySQL对待
'XXX'和COLUMN2 ='YYY'
喜欢表达。因此,它将COLUMN2和'YYY'的值进行比较,获取布尔结果并执行'XXX',然后执行该结果,因此由于'XXX'不是DOUBLE / INTEGER / BOOLEAN,因此最终在COLUMN1中可能会得到0。COLUMN2将保持不变。
这样,该查询就不会出错,只是没有您期望的那样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句