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

Posted 寻觅beyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用delete和trancate删除表记录的区别相关的知识,希望对你有一定的参考价值。

相同点

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

 

不同点

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

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

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

 

以上是关于用delete和trancate删除表记录的区别的主要内容,如果未能解决你的问题,请参考以下文章

关于oracle里面delete,trancate,drop的区别和用法。详细点。谢谢

trancate需要提交事物吗

记录mysql trancate 重置id自增

请问TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别

mysql中删除表记录delete from和truncate table的用法区别

mysql 中delete和trncate区别