开发者社区> 问答> 正文

MySQL DELETE语句和TRUNCATE TABLE

两者到底有什么区别, 据说 TRUNCATE 操作, binlog 也恢复不了。

展开
收起
蛮大人123 2016-02-06 14:38:56 2432 0
2 条回答
写回答
取消 提交回答
  • TRUNCATE 相当于初始化表结构,不写进日志不支持逆向回滚, delete 可以根据二进制日志恢复。

    2019-07-17 18:38:23
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    个人理解:truncate是对表结构的一种重置功能,通过truncate之后,表会自动恢复到create时的状态,它不仅仅是数据删除的问题,而是整个表结构的恢复,例如你的row_id如果是auto increment的,delete是不会影响它的,如果是truncate,那么它就会恢复到了初始值了。

    2019-07-17 18:38:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像