【问题标题】:Id field auto_increment not functioning properlyID 字段 auto_increment 无法正常工作
【发布时间】:2013-07-29 10:04:11
【问题描述】:

在我的数据库中,我首先填写了 50 条虚拟数据记录,只是为了检查我的网站是否正常工作。然后我删除了不需要的记录,并添加了新记录,现在我有 20 条记录。当我从站点数据注册用户进入数据库。但是现在每次新用户注册到站点时,我的 ID 字段是主键和自动增量,显示新用户的 ID 为 51 而不是 21。下一个用户 52 不是22.为什么会这样以及如何使下一个Id为23。

【问题讨论】:

  • 使用TRUNCATE TABLEALTER TABLE YOURTABLE AUTO_INCREMENT = 1

标签: mysql


【解决方案1】:

你必须重置你的增量:

尝试 ALTER TABLE Table_name AUTO_INCREMENT = 21;如果你的下一个数字是 21

【讨论】:

【解决方案2】:

自动增量是表定义中的一个计数器,而不仅仅是“下一个可用数字”,所以当您添加 50 条记录时,您将计数器设置为 51,当您删除它们时,计数器将保持在 51,直到您重置它或添加更多记录。

您可以使用以下命令重置计数器:How to reset AUTO_INCREMENT in MySQL?

【讨论】:

    【解决方案3】:

    自动增量字段独立于表中数据的“计数”工作,它会随着新记录的增加而不断增加,但在删除时不会减少。

    您需要手动重置您的字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 2017-11-08
      相关资源
      最近更新 更多