插入ID为1的新行

时间:2013-07-11 05:11:10

标签: mysql sql

是否有可能删除表中的整个数据并插入id从1开始的新行

删除命令有助于在我们尝试插入新行时删除表中的数据id将是最后插入的行id + 1(如果最后插入的id是5,那么新的id应该是6)但是我想存储该id为1

截断命令以外的任何建议,提前致谢

6 个答案:

答案 0 :(得分:7)

删除所有记录后

ALTER TABLE tablename AUTO_INCREMENT = 1

注意

来自MySQL文档Link

  

您无法将计数器重置为小于或等于任何值的值   已经被使用过。对于MyISAM,如果值小于或等于   到当前在AUTO_INCREMENT列中的最大值,该值   重置为当前最大值加1。对于InnoDB,如果值为   小于列中的当前最大值,不会发生错误   当前序列值不会改变。

答案 1 :(得分:1)

使用它 TRUNCATE TABLE tableName重置自动增量值:

答案 2 :(得分:1)

我从你的描述中推测,“id”是一个标识列?

在那种情况下,

TRUNCATE TABLE tablename;

同时删除所有行,并重置标识字段以再次从1填充。

答案 3 :(得分:0)

如果您使用TRUNCATE命令,它将删除所有行并重置自动增量值:

TRUNCATE tablename;

答案 4 :(得分:0)

您需要在以下sequence中执行两个命令:

首先删除表中的所有数据

delete TABLE_NAME

然后将ID设置为1

insert into TABLE_NAME(ID) values(1)

答案 5 :(得分:0)

正如@mhasan回答

ALTER TABLE `tablename` AUTO_INCREMENT = 1

是一种方法。

另一种方法是删除id列并重新创建它。

ALTER TABLE `tablename` DROP `id`;
ALTER TABLE `tablename` AUTO_INCREMENT = 1;
ALTER TABLE `tablename` ADD `id` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

但如果你的桌子与其他桌子有关系,你的遗嘱不是一个好的解决方案。