是否有可能以刪除表中的全部數據,並與編號從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