我有一个事务,它在一个表中插入几行。
我们这样说:我的表的最大ID为100,然后我需要插入另外100行,其中最后的最大ID为200.其他交易等待我的交易完成,他们保留号码201,无论我交易成功与否。
回滚事务无法将ID重新设置为100,因为如果我将身份语句放在事务外部,则其他事务具有更高的优先级,并且它们已经保留了数字201.
如果我的事务回滚,但在其他事务处理下一个ID之前,要将身份列重新设置为,即100?
我希望我足够清楚。
答案 0 :(得分:0)
我认为你不应该这样做。
我不确定等待你完成的其他交易如何保留201.他们不知道身份被消耗了;他们只知道他们被封锁了。
在任何情况下,ID都有差距没有坏处。这就是身份的运作方式。你不应该试图改变它。