一、如果mysql表中有AUTO_INCREMENT欄位,在清空資料(delete from)後,AUTO_INCREMENT欄位不會自動初始化為0,而依然是從清空前的記錄後開始自增,需要手動初始化
1、user_0初始狀態使用navicat工具查看)
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/21541U125-0.jpg" title="1.jpg" />
2、在命令列下執行delete from 操作
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/21541U509-1.jpg" title="2.jpg" />
注意delete from 操作會反饋影響到的行數
3、我們再看這個表的結構
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/21541S455-2.jpg" title="3.jpg" />
初始的AUTO_INCREMENT資料 依然在
二、如果使用truncate清空資料,AUTO_INCREMENT欄位不會自動初始化為0
1、恢複表的資料
650) this.width=650;" src="http://img1.51cto.com/attachment/201309/160829824.jpg" title="4.jpg" />
2、使用命令列進行清空操作
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/21541SF3-4.jpg" title="6.jpg" />
這裡使用了truncate命令返回的是0
3、再回來查看錶結構
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/21541SB2-5.jpg" title="5.jpg" />
這裡可以看到AUTO_INCREMENT資訊也不存在了。
所以在使用truncate和delete from 操作是還是有區別
如果想恢複原來的AUTO_INCREMENT 資訊 可以執行如下命令
alter table TABLE_NAME auto_increment=XXXX;