MySQL update操作,执行顺序问题

发布时间:2024-12-19 10:05

数据库管理:SQL基础及MySQL操作 #生活知识# #编程教程#

最新推荐文章于 2024-09-19 17:52:16 发布

weixin_49404467 于 2020-07-15 18:57:57 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

MySQL update操作,执行顺序问题

第一种情况单表操作:按照字段排列顺序执行,后执行更新的数据可以使用先执行的数据来更新,比如:b可以根据a更新之后的数据来更新,示例:
update table set a = a+ 1, b= a/2 where id = 1;

第二种情况连表操作更新多张表的数据,没有单表操作的顺序
(1)修改一条记录。
比如:table1字段count值为6,table2字段count值为20,执行下面操作后table1的count为10,table2的count为22,而不是table1的count为11,table2的count为22
update table1 a inner join table2 b set b.count = b.count+ 2, a.count= b.count/2 where a.id = 1;
(2)修改多条记录,多条记录按照主表主键顺序执行修改操作。

遇到的问题:
每天将A表中状态为“1”的数据修改为状态为“2”,同时B表统计A表每天状态为“1”的数目。即先更新A表字段,再更新B表字段,此时统计A表中状态为“1”的条件应该是state=“1” OR state=“2”,不应该是state=“1”,因为会先更新主表A主键顺序排序第一条的state,将state更新为“2”,在更新表B时,才回去查询表A中状态为“1”的数据,而此时就会缺少一条,因此,连表更新统计操作时需特别注意

网址:MySQL update操作,执行顺序问题 https://www.yuejiaxmz.com/news/view/517038

相关内容

mysql (8)=====用户授权管理
一份平民化的MySQL性能优化指南
MySQL优化:12种提升SQL执行效率的有效方法
Mysqlslap MySQL压力测试工具 简单教程
浅谈mysql集群
关于Mysql数据库的日常维护,包括配置、优化、备份、故障处理等工作的50道运维面试题
日常工作中如何做MySQL优化?
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
UniApp开发中的数据库操作指南 (uniapp 数据库)
java基于微信小程序的美食制作教程系统 uniapp 小程序

随便看看