如何在 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"下有一个设置,你可以设置它开始的数字,这样你就可以滚了如果您想这样做,请返回。
我的 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"下有一个设置,你可以设置它开始的数字,这样你就可以滚了如果您想这样做,请返回。