1

我有一个带有索引 ID 的表,例如:

ID Name
1  abc
2  def
4  ghi
9  jkl
10 mno
11 xyz

在此示例中,该AUTO_INCREMENT值位于12 。

如果我删除 ID 为 10 和 11 的 2 行,ALTER TABLEtable_name会将AUTO_INCREMENT=1AI 值重置为10还是尝试将其设置为3从而破坏我的表?

我正在尝试设置标准 AI 重置,在所有情况下将值设置为下一个可用序列。

感谢您确认设置查询语句的正确方法。

4

2 回答 2

0

使用ALTER TABLE,当然:

ALTER TABLE table_name AUTO_INCREMENT = 1;

但是您不能将其重置为小于使用的最大值,因为您需要使用ALTER TABLE DROP COLUMN删除该列并使用 ALTER TABLE ADD COLUMN [col] AUTO INCREMENT 重新添加它。但是(MySQL 总是有一个警告),如果您的表使用 NDB 引擎,这将不起作用。

于 2013-05-10T19:10:16.380 回答
0

ALTER TABLE table_name AUTO_INCREMENT=1做了我希望它会做的事。

于 2013-05-10T19:16:29.723 回答