重置MySQL中表中自增列的初始值的實(shí)現(xiàn)方法
1. 問(wèn)題的提出
在MySQL的數(shù)據(jù)庫(kù)設(shè)計(jì)中,一般都會(huì)設(shè)計(jì)自增的數(shù)字列,用作業(yè)務(wù)無(wú)關(guān)的主鍵。 在數(shù)據(jù)庫(kù)出現(xiàn)頻繁的刪除操作或者清空操作之后,其自增的值仍然會(huì)自動(dòng)增長(zhǎng),如果需要重新開(kāi)始該如何做呢?
2. 解決辦法
a. alter table
delete from table_name;
ALTER TABLE table_name AUTO_INCREMENT = 1;
如果數(shù)據(jù)庫(kù)表中的數(shù)據(jù)很多,則刪除操作會(huì)持續(xù)比較久,這個(gè)問(wèn)題需要注意。
b. truncate
簡(jiǎn)單快捷,直接清空數(shù)據(jù)。
3. delete vs tuncate
主要的區(qū)別如下:
- truncate速度快,不做日志記錄,故無(wú)法進(jìn)行rollback操作。 delete反之。
- truncate會(huì)重置索引和自增初始值, delete則不會(huì)
- truncate不會(huì)觸發(fā)trigger,而delete則會(huì)觸發(fā)。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
您可能感興趣的文章:- 怎么重置mysql的自增列AUTO_INCREMENT初時(shí)值