更新语句正确的写法
update table_name set column1 = 'value1', column2 = 'value2' where id = 1
更新语句错误的写法
update table_name set column1 = 'value1' and column2 = 'value2' where id = 1
运行错误写法的结果
column1 会被更新为 0
原因分析

使用and连接符时,该语句会被解析为

update table_name set column1 = ('value1' and column2 = 'value2') where id = 1

而 ('value1' and column2 = 'value2') 是一个逻辑表达式,由于 column2 = 'value2'并不成立,故 (column2 = 'value2') 的结果为0,此时表达式等效为 (1 and 0),故实际的结果被更新为 0


老污的猫
30 声望5 粉丝