MYSQL中truncate与delete的区别

delete和truncate都是删除表的操作,但还是有些许不同。
delete是一条一条删除记录的,配合事件(transaction)和回滚(rollback)可以找回数据,且自增(auto_increment)不会重置。
truncate则是直接删除整个表,再重新创建一个一模一样的新表,auto_increment会被重置,且数据无法找回。



delete配合事件和回滚找回数据的例子:
现有这么一个表:

开启事件 start transaction

删除表中的所有数据
进行回滚 rollback,表中的数据又重新回来了


猜你喜欢

转载自blog.csdn.net/qq_35638156/article/details/80232732