Mysql 删除相互引用的sql表

Mysql 删除相互引用的sql表,mysql,sql,Mysql,Sql,我有两个表,每个表引用另一个表(由django ORM创建)。 每个表引用另一个表 现在,我想编写一个脚本来删除所有表,但由于外键冲突,我无法这样做 我在做什么 mysql> delete from table1 mysql> delete from table2 我知道我可以忽略这些检查,但问题是这些检查是由django生成的,名字很神秘 谢谢。你可以这样做- SET FOREIGN_KEY_CHECKS = 0; DELETE FROM table1; DELETE FROM

我有两个表,每个表引用另一个表(由django ORM创建)。 每个表引用另一个表

现在,我想编写一个脚本来删除所有表,但由于外键冲突,我无法这样做 我在做什么

mysql> delete from table1
mysql> delete from table2
我知道我可以忽略这些检查,但问题是这些检查是由django生成的,名字很神秘

谢谢。

你可以这样做-

SET FOREIGN_KEY_CHECKS = 0;

DELETE FROM table1;
DELETE FROM table2;

SET FOREIGN_KEY_CHECKS = 1;

文档:。

FK列在这两种情况下都可以为空吗?如果是,首先
UPDATE
将所有行更新为
NULL
,然后删除表。为每个行发布
SHOW CREATE table
的输出。@MichaelBerkowski或者,不应该
DELETE
JOIN
都可以正常工作,因为MySQL支持这一点?但是为什么不能用
SET FOREIGN\u KEY\u CHECKS=0忽略?您不需要知道约束名称。@MahmoudGamal是的,这也应该是可能的。