当自动增量获得重复时会发生什么?

时间:2017-09-26 17:50:46

标签: sql

我的主键自动增量达到了它的最大值(假定为5),但我有未使用的数字(因为删除)(假设为1和3)。如果我使用此代码重置自动增量:

ALTER TABLE table_name AUTO_INCREMENT = 1

如果我现在插入2个新行将会发生什么?它会跳过2并将其插入为3吗? 还是会产生错误?

2 个答案:

答案 0 :(得分:0)

auto_increment将逐行递增,因此它不会跳过2并分别给2行和3行

答案 1 :(得分:0)

它将产生一个错误。

它不会跳过值2,而是会尝试插入此ID ...

...但是,如果存在禁止重复ID的键约束,则会引发键违规错误。

您需要删除IDENTITY属性(如果存在),并创建自己的逻辑来确定要插入的数字,然后将其用作默认值