最近有开发同学多次在钉钉上问我,比如下图:一直没有更新...第一次遇到这个问题的时候,拿到这条语句直接在测试库中执行,发现确实有问题,但还是和开发描述的不一样。这里我用测试数据来模拟一下:有问题的SQL语句:执行前的记录是这样的:执行后的记录是这样的:如你所见,结果并不像开发同学说的“好像没有效果””,其实是有效果的:为什么?语法好像一点问题都没有。我查看了MySQL官方文档的update语法:看到assignment_list的格式是col_name=value用逗号分隔的列表。字段更新语句应该这样写:回去重试:果然,现在得到了想要的结果!总结:在一个UPDATE语句中,如果要更新多个字段,字段之间不能使用“AND”,而应该用逗号分隔。后记:以后有时间回过头来看看为什么用“AND”分??隔会出现owner_code=0这个奇怪的结果?经过多次尝试,发现:相当于:and('43212'andowner_name='李四')是逻辑表达式,不难知道owner_name不是'李四'。所以这个逻辑表达式的结果是false,相当于MySQL中的0!来源:ju.outofmemory.cn/entry/336774
