我在历史记录表中看到重复的行 - 但是首先更新它的事务会从中删除;然后重新插入每个数据。其他查询是正确的(大部分时间工作都很好)。
select语句如何才能看到数据的不一致视图?
create my_history_table (
`a` int(11),
`b` int(11),
`timestamp` datetime
) ENGINE=InnoDB;
我们根据需要更新此表:
set autocommit=0;
set transaction isolation level read committed;
start transaction;
delete from my_history_table;
<loop on cursor inserting results for each>
commit;
在另一个存储过程中,我们将这些结果读回客户端:
select * from my_history_table join anotherTable using (a);
答案 0 :(得分:0)
所以答案是删除;在获得锁定时超时,但从MySQL 5.0.31开始,它不会自动回滚事务。所以它在没有进行删除的情况下进行插入并提交了这个混乱。