MySQL 中 truncate、delete、drop 的区别
来源:互联网 发布:app软件开发流程 编辑:程序博客网 时间:2024/05/16 19:46
表数据和表结构
truncate、delete都会删除表中的数据,drop不仅会删除表数据也会删除表结构。
是否重置标识计数器
truncate 删除表中的所有行,表的列、约束、索引保持不变,但标识计数器将被重置。而delete会保留标识计数器。
例如,如果想清空主键自增的表数据,并且重置主键位置,则使用truncate;如果想清空主键自增的表数据,并且保留主键位置,则使用delete。
create table test_t( id int(10) PRIMARY key AUTO_INCREMENT, age int(4) )select * from test_t;insert into test_t(age) VALUES(30);truncate test_t;DELETE from test_t;
是否加入事务
truncate、drop属于dml语句,不会加入到 rollback segment ,即不能进行事物回滚,执行立即生效,truncate操作不记录在日志中,操作不能触发trigger。delete属于ddl语句,操作会加入到rollback segment中,提交后执行。
truncate不适用的场景
有foreign key 约束的表和参与视图索引的表,都不能使用 truncate。
参考:
mysql truncate、delete与drop区别;
0 0
- MySQL 中 truncate、delete、drop 的区别
- Mysql中Drop,Truncate,Delete的区别
- mysql中truncate、delete、drop区别
- MySQL中truncate、delete、drop区别
- MySQL中 truncate 、delete与drop区别
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别
- 了解mysql中drop,truncate、delete的区别
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别
- MySQL中delete,truncate与drop的区别
- mysql delete,truncate与drop的区别
- mysql truncate,drop,delete的区别
- oracle中delete、truncate、drop的区别
- oracle中delete、truncate、drop的区别
- sql 中 delete、drop、truncate的区别
- oracle中delete、truncate、drop的区别
- 数据库中drop delete truncate 的区别
- Oracle中 delete,truncate,drop的区别
- mysql----drop,truncate.delete区别
- 下拉刷新上拉加载控件+Material Design使用
- 521. Longest Uncommon Subsequence I
- 基于HTTP协议的轻量级开源简单队列服务:HTTPSQS
- 注册事件
- android 小米手机 相册图片路径空指针的问题
- MySQL 中 truncate、delete、drop 的区别
- caffe添加Layer,复现Feature Learning based Deep Supervidsed Hashing with PL
- 今天在弄openwrt gpio管脚输出
- Hive(十一)--数据去重及row_number()
- ZOJ 3956 Course Selection System (dp)
- ERROR 1665 (HY000): Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT
- js预览本地资源
- 算法导论 练习题 8.1-4
- The working copy 'xxx' has uncommitted changes.