1、
https://www.cnblogs.com/jiazhutao/p/12575821.html
在MySQL中删除一张表或一条数据的时候,出现
[Err] 1451 -Cannot deleteorupdatea parent row:
aforeignkeyconstraintfails (...)
这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
禁用外键约束,我们可以使用:
SET FOREIGN_KEY_CHECKS=0;
然后再删除数据
启动外键约束,我们可以使用:
SET FOREIGN_KEY_CHECKS=1;
查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:
SELECT @@FOREIGN_KEY_CHECKS;
2、
https://www.cnblogs.com/tjudzj/p/10003908.html
mysql清空表可以用delete和truncate两个命令来完成:
1. delete
① 语法:delete from table_name;
② 示例:DELETE FROM `order`;
2. truncate
① 语法:truncate table table_name;
② 示例:TRUNCATE TABLE `order`;
3. 区别
① 使用delete清空表中的记录,内容的ID仍然从删除点的ID继续建立,而不是从1开始。而truncate相当于保留了表的结构而重新建立了一张同样的新表。delete的效果有点像将mysql表中所有记录一条一条删除到删完。
② 效率上truncate比delete快。但truncate删除后不记录mysql日志,不可以恢复数据。