当update中的set语句更新多个值时
- update set 后参数为逗号隔开的列表
- 若set后参数用and连接,会有预期外的情况。
Example
update base_test set flag = 1 and name = 'ignore' where id = 1;
这个执行后结果,只更新了flag,而且flag值为0。
But,为什么会产生如此奇怪结果。是按以下执行,1 and name = 'ignore’为false,在sql中,false正是0,so
update base_test set flag = (1 and name = 'ignore') where id = 1;