mysql清空表語句 truncate和delete from 的區別

一、如果mysql表中有AUTO_INCREMENT字段,在清空數據(delete from)後,AUTO_INCREMENT字段不會自動初始化爲0,而依然是從清空前的記錄後開始自增,需要手動初始化


1、user_0初始狀態(使用navicat工具查看)


2、在命令行下執行delete from 操作

注意delete from 操作會反饋影響到的行數


3、我們再看這個表的結構


初始的AUTO_INCREMENT數據 依然在


二、如果使用truncate清空數據,AUTO_INCREMENT字段不會自動初始化爲0

1、恢復表的數據



2、使用命令行進行清空操作

這裏使用了truncate命令返回的是0


3、再回來查看錶結構

這裏可以看到AUTO_INCREMENT信息也不存在了。

所以在使用truncate和delete from 操作是還是有區別


如果想恢復原來的AUTO_INCREMENT 信息 可以執行如下命令

alter table TABLE_NAME auto_increment=XXXX;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章