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 驱动为什么要依赖 protobuf?
1446浏览 • 1回复 待解决
mysql 查询排序问题了解的吗?
170浏览 • 1回复 待解决
ArkTS语法咨询的问题懂得吗?
591浏览 • 1回复 待解决
Mysql geojson 查询的问题懂的吗?
1226浏览 • 1回复 待解决
MySQL escape方法问题了解的吗?
670浏览 • 1回复 待解决
为什么文章不能评论,问题交流
2739浏览 • 1回复 待解决
mysql的一个问题懂的吗?
306浏览 • 1回复 待解决
关于mysql分区的问题懂的吗?
288浏览 • 1回复 待解决
MySQL 伪表 dual的问题懂的吗?
965浏览 • 1回复 待解决
MySQL的架构在AP场景的缺陷什么
1637浏览 • 1回复 待解决