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;


你可能感兴趣的:(mysql,delete,from,auto_increment,trancate)