mysql update and更新有问题,为什么mysql不报语法错误?

mysql的这个更新语句有问题,没什么疑问,我的疑问是为什么mysql不报语法错误?


mysql
update
2023-06-02 13:12:26
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
蒹葭白露为双

因为语法没问题,MySQL 会按照运算符优先级来解析这条语句,实际是:

UPDATE `a` SET `name` = ('123' AND `age` = 20);

赋值语句结果为 ​​true​​,一个非空的字符串转为 Boolean 也为 ​​true​​,两个 ​​true​​ 做逻辑和运算,结果还是 ​​true​​。

所以你这条语句实际上等效于:

UPDATE `a` SET `name` = true;
分享
微博
QQ
微信
回复
2023-06-02 14:41:44
相关问题
安装MySQL为什么要创建MySQL用户?
1117浏览 • 1回复 待解决
Mysql 驱动为什么要依赖 protobuf?
2696浏览 • 1回复 待解决
mysql 查询排序问题了解的吗?
1007浏览 • 1回复 待解决
MySQL escape方法问题了解的吗?
1348浏览 • 1回复 待解决
Mysql geojson 查询的问题懂的吗?
1954浏览 • 1回复 待解决
关于mysql分区的问题懂的吗?
1101浏览 • 1回复 待解决
mysql的一个问题懂的吗?
1085浏览 • 1回复 待解决
MySQL 伪表 dual的问题懂的吗?
1732浏览 • 1回复 待解决
为什么文章不能评论,问题交流
3574浏览 • 1回复 待解决