我有 2 个表,一个活动表和一个非活动表。我想将行从活动表移动到非活动表。我的第一个想法是
insert into inactive select * from active where ...
delete from active active where ...
但是大约 0.42 秒后,我注意到如果更新改变了 where 子句选择的内容,这将删除/重复行。
在这种情况下,我可以很容易地防止这种情况发生,但如果我不能,我该怎么办?
编辑:从答案看来,没有一种简单/简单的方法可以做到这一点。我对此感到非常惊讶。我认为拥有它会有一些实质性的好处。