我使用MySQL(版本5.5.43)作为我的数据库。
我有一个RoR微服务,它为模型Active Record类执行更新列:
model.update_columns(status: 0)
下一行是对同步执行SQL查询的不同微服务的api调用:
select * from model where status = 0;
代码运行时没有任何错误,但后一个查询没有获取前者正在更新的记录。更新和读取之间存在毫秒差异。
这两个服务都与不同的用户连接到同一个数据库,但访问权限相同。
我不明白为什么会这样? update_column显然是对db的提交,那么为什么select查询不会获取更新的记录。我在这里缺少什么?