Mysql更新查询在常规日志中,但数据未更改

Mysql更新查询在常规日志中,但数据未更改,mysql,node.js,sequelize.js,node-mysql,Mysql,Node.js,Sequelize.js,Node Mysql,我在批处理过程中使用Node.js和MySQL。该过程同时进行大量查询,并由许多作业组成。我注意到update语句有时会起作用 UPDATE `Configuration` SET `Value`='2015-06-08 11:35:00' WHERE `ID`=6 我打开了general log并在那里找到了查询,但表中的数据没有更改。查询大约每5分钟在作业结束时运行一次。但其他作业继续进行查询 例如: jobA提出了很多疑问。同时,jobC从配置表中进行选择。然后,jobC执行一系列与配置

我在批处理过程中使用Node.js和MySQL。该过程同时进行大量查询,并由许多作业组成。我注意到update语句有时会起作用

UPDATE `Configuration` SET `Value`='2015-06-08 11:35:00' WHERE `ID`=6
我打开了general log并在那里找到了查询,但表中的数据没有更改。查询大约每5分钟在作业结束时运行一次。但其他作业继续进行查询

例如: jobA提出了很多疑问。同时,jobC从配置表中进行选择。然后,jobC执行一系列与配置表无关的查询。一旦jobC完成了一系列操作,它将对配置表运行两个查询:选择,然后更新

示例中的配置表不用于任何其他作业或事务

我在测试过程中发现,当jobA产生重载时,更新配置表查询不起作用


有人能告诉我问题是什么,或者我应该在哪里进一步研究吗?

我建议研究MySQL的隔离模式


我需要关于您的问题的更多信息(它不更新的频率与成功更新的频率以及在什么条件下),但如果它运行得太频繁,则另一个事务(如果很长?)可能尚未完成运行,如果它没有读取脏数据,则可能不会执行更新。这完全取决于作业的相对速度及其隔离模式。

示例:jobA正在进行大量查询。同时,jobC从
配置
表中进行选择。然后,jobC执行一系列与
配置
表无关的查询。一旦jobC完成了一系列操作,它将对
配置
表运行两个查询:选择然后更新<代码>配置示例中的表不用于任何其他作业或事务。在测试过程中,我发现当jobA产生重载时,更新
配置
表查询不起作用。jobA和jobC之间是否存在依赖关系?您需要的SQL语句的顺序是什么?如何将工作分开或将它们包装在一起作为事务,这一点在您详细说明之后就变得很清楚了。您是否将任何内容分组为单个事务?