【发布时间】:2014-12-02 02:35:19
【问题描述】:
详情
我在 SE 或 MySQL 文档中找不到有关此问题的任何信息。
我遇到了一种情况,我可能需要插入一个高于当前值的 auto-inc 值。例如,auto-inc 列当前为 12,我需要插入一行,其中 auto-inc 字段为 15。
问题
1 - 如果我只是简单地进行此插入,一旦自动增量达到 15 是否会发生冲突,或者插入的下一个值是否会从 16 开始?有人告诉我后者是一个朋友的工作原理。然而,在文档中我发现了一个声明,它会导致它稍后发生冲突。这样做后我是否必须将表重新设置为 16?
2 - 在这种情况下,最佳做法是什么?
如果需要提供任何其他信息,请告诉我。
【问题讨论】:
-
需要您修改主键的场景意味着您的应用程序设计有问题。如果您有 12 作为最后一个,则在这个世界上不存在您 必须 插入 15 作为 auto_increment 的场景。如果你得出了你必须这样做的结论或要求,你必须知道你做的事情非常错误,以至于将来会让你如此头疼,以至于你会诅咒你想出它的那一天。我建议您描述您的真正问题,而不是您想出的解决方案。
-
我所说的问题就是我面临的问题。但是,您是对的 - 这是部署错误的结果。我们不小心部署了一个具有开发数据库配置的站点。现在我需要将数据库数据从开发传输到生产并保留关系。我知道如何简单地使用 id 的 null 插入数据等。我想知道我所描述的情况如何解决。
-
1) 禁用标识,插入新值,将标识重新植入新的 High+ 生长因子 2) 最佳实践:改进质量保证/控制。不应该发生。
-
:/ 我知道.. 绝对是工作流程的问题。但是会发生什么,需要弄清楚。感谢您的意见!
标签: mysql auto-increment sql-insert