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用户?
582浏览 • 1回复 待解决
Mysql 驱动为什么要依赖 protobuf?
2143浏览 • 1回复 待解决
mysql 查询排序问题了解的吗?
475浏览 • 1回复 待解决
ArkTS语法咨询的问题懂得吗?
954浏览 • 1回复 待解决
MySQL escape方法问题了解的吗?
908浏览 • 1回复 待解决
Mysql geojson 查询的问题懂的吗?
1540浏览 • 1回复 待解决
关于mysql分区的问题懂的吗?
600浏览 • 1回复 待解决
为什么文章不能评论,问题交流
3071浏览 • 1回复 待解决
mysql的一个问题懂的吗?
644浏览 • 1回复 待解决
MySQL 伪表 dual的问题懂的吗?
1308浏览 • 1回复 待解决