我的主键自动增量达到了它的最大值(假定为5),但我有未使用的数字(因为删除)(假设为1和3)。如果我使用此代码重置自动增量:
ALTER TABLE table_name AUTO_INCREMENT = 1
如果我现在插入2个新行将会发生什么?它会跳过2并将其插入为3吗? 还是会产生错误?
答案 0 :(得分:0)
auto_increment将逐行递增,因此它不会跳过2并分别给2行和3行
答案 1 :(得分:0)
它将产生一个错误。
它不会跳过值2,而是会尝试插入此ID ...
...但是,如果存在禁止重复ID的键约束,则会引发键违规错误。
您需要删除IDENTITY属性(如果存在),并创建自己的逻辑来确定要插入的数字,然后将其用作默认值