清空表数据 可用的两种操作:
-
delete from 表名;
- truncate table 表名;
两者比较:
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
博主在用delete from 进行删除时发现报错了,说时safe updae 模式什么的,后来查看其他小伙伴的博客,发现了解决办法:
只需执行 SET SQL_SAFE_UPDATES = 0; 即可。
关于SQL_SAFE_UPDATES 推荐阅读https://www.jianshu.com/p/401c3cb722f6