【问题标题】:Real life example to reset the autoincrement value in mysql在 mysql 中重置自动增量值的真实示例
【发布时间】:2019-08-30 15:34:38
【问题描述】:

想知道我们需要在数据库中重置自增值的场景。如果可能的话(我正在寻找现实生活中的例子)。

【问题讨论】:

  • 唯一真正有效的理由是在开发和测试时将所有表“重置”在“起始位置”。您不应该在生产时更改它,因为可能会出现错误的关系

标签: mysql database auto-increment


【解决方案1】:

没有你需要这个的场景。在这个宇宙中,有效的场景为零。

人们会想出一个理由,但这个理由是无效的。

auto_increment

  • 是唯一标识符
  • 是合成密钥。您绝不能依赖它的价值来计算记录数或按顺序列举发票
  • 它的主要工作是提供唯一标识符。不过,InnoDB 存储引擎依赖它,这是它的次要工作 - MySQL 用户在尝试篡改 auto_increment 值之前是不知道的。
  • 这不是连续的。它只是使用顺序算法来获取下一个唯一值。

因此,需要重置它不存在。如果您有需要这样做,那么您使用auto_increment 是错误的。

在开发过程中,您可能希望截断表以从 1 重新启动计数器,以满足您自己的强迫症。我也这样做,但原因不是真的有效,如果你不这样做,什么也不会发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多