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