是否有可能以删除表中的全部数据,并与编号从1插入新行ID 1
开始删除命令有助于从表中删除数据时,我们试图插入新行插入新行是ID将是最后插入的行ID + 1(如果最后插入的ID是5,然后新的ID应该是6),但我想这个ID存储为1
比截断命令其他任何建议,提前感谢
是否有可能以删除表中的全部数据,并与编号从1插入新行ID 1
开始删除命令有助于从表中删除数据时,我们试图插入新行插入新行是ID将是最后插入的行ID + 1(如果最后插入的ID是5,然后新的ID应该是6),但我想这个ID存储为1
比截断命令其他任何建议,提前感谢
如果使用TRUNCATE
命令,将删除所有行和重置自动增量值:
TRUNCATE tablename;
使用此 TRUNCATE TABLE表名重置自动增量值:
你会需要执行以下sequence
中的两个命令:
首先删除表中的所有数据
delete TABLE_NAME
然后将ID设置为1
insert into TABLE_NAME(ID) values(1)
我从你的描述推测,即 “ID” 是标识列?
在这种情况下,
TRUNCATE TABLE tablename;
既删除所有行,并重置标识字段从1再次填充。
为什么downvote?我的回答完全正确。 –
我没有downvote,但downvote可能是因为OP明确要求除TRUNCATE以外的解决方案。尽管如此,TRUNCATE是一个更好的解决方案。 –
由于@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;
但是,如果你的表与其他表有关系,你的意志不是一个好的解决方案。
你能分享“TRUNCATE”有什么问题吗? – peterm