详细
我在SE或MySQL文档上找不到有关此问题的任何信息。
我遇到过一种情况,我可能需要插入一个高于当前值的auto-inc值。例如,auto-inc列目前为12&我需要在15处插入一行auto-inc字段。
问题的
1 - 如果我只是简单地执行此插入操作,一旦auto-inc命中15或者插入的下一个值是否从16开始,它会发生冲突吗?我被告知后者是朋友的工作方式。但是,在文档中我遇到了一个声明,它会导致它稍后发生冲突。这样做之后我是否必须将表重新设置为16?
2 - 在这种情况下,最佳做法是什么?
如果有任何其他信息,请告诉我。
答案 0 :(得分:1)
据我所知,插入一个高于当前增量的值可以调整数据库中的AUTO_INCREMENT
值。也就是说,插入20将其设置为21.我相当确定这种行为在较新版本的MySQL中是一致的。
您可以使用SHOW CREATE TABLE
查看当前的增量。
答案 1 :(得分:1)
试过了。
1)auto-inc将设置为16,不会造成任何问题。
2)我认为最佳做法是让auto-inc列单独工作,但我看不出有任何问题。但是,如果列具有主键或唯一键,则如果该值已存在于数据库中,则使用该列的值插入可能会导致出现问题。
希望它有所帮助!