如何在 phpmyadmin 中重新启动自动增量?

How can I restart my autoincrement in phpmyadmin?

我的 phpmyadmin 中有一些 tables,其中一列是自动递增的。

问题是,当我从 table 中删除一些行(例如元素 Car,索引自动递增 1)并在 table 中创建另一行时,新行有索引 2,但在 table 中只有一行。

我希望创建的第二个元素的索引等于行的位置,例如,如果我有 3 行,那么第三个元素的索引将等于 3。

我一直在寻找一种可以让我像这样使用我的 phpMyAdmin 的方法,但我找不到任何东西。

可能吗?如果是真的,我该怎么办?我必须重新创建 table 吗?

执行这SQL句:

ALTER TABLE tablename AUTO_INCREMENT = 1

这是可能的,但您不应该在生产环境中这样做。

SQL查询是:

ALTER TABLE tablename AUTO_INCREMENT = 1

其中最重要的部分是防止覆盖。例如,你有一个用户,这个用户的 id 是 81,如果你删除这个用户,数据库不记得这个 id 81 曾经被用户使用过(例如,你有一些关系——比如朋友列表)拥有相同 ID 的用户可能拥有相同的数据。

所以基本上,您不想重置自动增量值。

有可能。它不是 phpmyadmin 的功能,而是 mysql 的功能。执行此

ALTER TABLE tablename AUTO_INCREMENT = 1

关于此的更多信息 Whosebug

并且在 mysql reference

这通常不是一个好主意。自动递增用于创建行的唯一 ID。假设您有一条记录“1 - John”。然后删除它并添加另一个“1 - Jack”。从通用数据库逻辑的角度来看,似乎 John 被重命名为 Jack(它具有相同的 ID = 它是相同的实体)而不是另一条记录。您应该让 DB 为每个新记录分配新 ID,即使在删除记录后留下空白。

如果你真的想这样做,你可以使用这个查询修改自动增量值:

ALTER TABLE users AUTO_INCREMENT=123

但这仍然不是自动递增的设计方式。

我也纠结过这个,然后在"Operations"选项卡里找到,"Auto Increment"下有一个设置,你可以设置它开始的数字,这样你就可以滚了如果您想这样做,请返回。