MySQL中 update table set a = 1 and b = 2的执行逻辑
原本想写
update table set a = 1 where b = 2;
结果写成
update table set a = 1 and b = 2;
语句也能执行成功,但是逻辑大错特错。 错误逻辑是 将全表a值set 为 '1 and b=2' 逻辑与的值,也就是b=2的记录改成了1,b=2的记录改成了0
原本想写
update table set a = 1 where b = 2;
结果写成
update table set a = 1 and b = 2;
语句也能执行成功,但是逻辑大错特错。 错误逻辑是 将全表a值set 为 '1 and b=2' 逻辑与的值,也就是b=2的记录改成了1,b=2的记录改成了0