參考
使用truncate:truncate table;
說明:使用truncate會刪除表的資料釋放空間,並且重置字自增id,但不會刪除表的定義。
用處:需要清空表的時候才能使用。
使用修改標識:dbcc checkident (『table_name』 , reseed, new_reseed_value) ;
說明:new_reseed_value是設定的當前標識,下次插入則從new_reseed_value+1開始。如果new_reseed_value小於表中當前標識的值,有可能會產生重複key,會產生 2627 號錯誤資訊。
用處:此方法不會清空已有資料。適用於大量刪除後修改新的標識,但不能比當前表中最大值小。
使用修改表的方法:alter table tablename auto_increment=new
說明:此方法和上面的二方法類似。也不會清空資料,有可能會出現重複key的可能,所以此方法也只適用於清空表之後重置自增id或者大量刪除後修改自增id。
mysql重置所有表自增id
建立儲存過程之前需判斷該儲存過程是否已存在,若存在則刪除 drop procedure ifexists init sql string 建立儲存過程 create procedure init sql string begin 定義變數 declare s int default0 declare...
sql 自增ID之重置
問題背景 在使用資料庫時,經常要使用主鍵,並設定其為自增欄位,我使用的初衷是想要資料庫自動給我分配乙個空閒的id給我使用,但是使用後發現,如果我們刪除資料後,後面新增的資料的自增id始終是在之前的基礎上開始的,我想要的自增欄位始終從1開始。在多次插入資料後,自增的id號比較混亂,而且刪除資料後,自增...
關於mysql自增id的獲取和重置
使用max函式 select max id from tablename 優點 使用方便快捷。缺點 獲取的不是真正的自增id,是表中最大的id,如果有刪除資料的話,那麼該值和自增id相差比較大。如果有連表資料,有可能導致資料錯亂。使用last insert id函式 select last inse...