update a set name = '123' and age = 20
mysql的这个更新语句有问题,没什么疑问,我的疑问是为什么mysql不报语法错误?
update a set name = '123' and age = 20
mysql的这个更新语句有问题,没什么疑问,我的疑问是为什么mysql不报语法错误?
5 回答1.7k 阅读
8 回答1k 阅读
2 回答2.3k 阅读
3 回答936 阅读✓ 已解决
2 回答1.5k 阅读
1 回答775 阅读✓ 已解决
2 回答946 阅读
因为语法没问题,MySQL 会按照运算符优先级来解析这条语句,实际是:
赋值语句结果为
true
,一个非空的字符串转为 Boolean 也为true
,两个true
做逻辑和运算,结果还是true
。所以你这条语句实际上等效于: