用delete和trancate删除表记录的区别

2020-10-19  本文已影响0人  胡浩8880

面试中被问到,当时一头雾水,查来积累下~

相同点

都能删除表中的全部数据;

不同点

  1.truncate是DDL,delete是DML命令,所以truncate命令更准确的说是修改表的定义(属性);

  2.truncate不支持事务回滚,而delete支持事务回滚;

  3.如果表的主键是自增的,那么使用truncate清空表后会初始化自增属性(重新从1开始自增);而delete删除所有数据后,主键自增属性不会被初始化,接着清除数据前的自增值继续自增。

上一篇 下一篇

猜你喜欢

热点阅读