登录
首页 >  数据库 >  MySQL

mysql单表多字段update的执行顺序

来源:SegmentFault

时间:2023-01-14 20:15:03 479浏览 收藏

本篇文章给大家分享《mysql单表多字段update的执行顺序》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

链接: MySQL 5.6 Reference Manual / UPDATE Statement

针对以下类似sql

UPDATE t1 SET col1 = col1 + 1, col2 = col1 - 1;

执行结果和从左往右, col1原值加1, col2 = 更新后的col1减1(与col1原值相同)

原文

If you access a column from the table to be updated in an expression,

UPDATE t1 SET col1 = col1 + 1;

The second assignment in the following statement sets

UPDATE t1 SET col1 = col1 + 1, col2 = col1;

Single-table

UPDATE
assignments are generally evaluated from left to right. For multiple-table updates, there is no guarantee that assignments are carried out in any particular order.

If you set a column to the value it currently has, MySQL notices this and does not update it.

注意: 对于以上情况, mysql单表更新赋值通常是从左到右计算的。对于多表更新,不能保证按任何特定的顺序执行分配。

同时, 如果update赋值前后的结果不变, mysql不会执行update, 所以不能通过sql的影响行数来判断业务逻辑的执行情况

今天带大家了解了MySQL的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表