问题描述
是否可以按特定顺序从不同的表中删除?
我需要删除
DELETE t1,t2,t3
FROM T1
LEFT JOIN T2 on t2.id =t1.t2_id
LEFT JOIN T3 on t3.id =t1.t3_id
但由于数据库中的限制,只能按此顺序 (t1>t2>t3
)。
有时似乎没有遵循顺序。
解决方法
您可以暂时禁用外键检查
SET FOREIGN_KEY_CHECKS=0;
DELETE t1,t2,t3
FROM T1
LEFT JOIN T2 on t2.id =t1.t2_id
LEFT JOIN T3 on t3.id =t1.t3_id
SET FOREIGN_KEY_CHECKS=1;