如何重置表的主键?

时间:2009-11-27 17:34:40

标签: mysql primary-key

在我的表tbphotos中,我有100条记录。然后我删除了所有记录,现在我想重新启动数据输入,我发现我的主键不是从1开始,而是从101开始,

有没有办法重置主键?

我正在使用MySQL管理员帐户。

5 个答案:

答案 0 :(得分:81)

alter table foo AUTO_INCREMENT = 1

答案 1 :(得分:29)

您可以像这样重置自动增量:

ALTER TABLE tablename AUTO_INCREMENT = 1

但如果你依赖自动增量值,你的程序就会非常脆弱。如果需要为记录中的连续编号分配程序,则应为此创建单独的列,而不是为此目的使用数据库自​​动增量ID。

答案 2 :(得分:3)

如果您使用TRUNC而不是手动删除记录,您的主键将被重置。

答案 3 :(得分:0)

如果您已经在数据库中有一些数据但想要在不删除数据的情况下重置ID,则下面的代码最好。复制并在SQL命令中运行

ALTER TABLE members DROP ID;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

答案 4 :(得分:-1)

这是重置自动递增的最佳脚本:

ALTER TABLE foo MODIFY your column increment int (11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;