我尝试删除记录,但是获取约束错误并停止查询。或者我使用'delete ignore ...'但查询也会停止,只有警告。我无法设置约束检查,我只需要删除没有约束的记录。也许mysql有一些命令呢?我一无所获。
答案 0 :(得分:3)
我能想象的唯一方法是编写一个查询,从主表中返回没有详细信息的行,然后将此查询的结果与主表连接,如
DELETE FROM table1 t
INNER JOIN
(
SELECT pk_column FROM table1 t1
LEFT JOIN details1 d1 ON (d1.fk_column = t1.pk_column)
// other LEFT JOIN[s] if you have more detail tables.
WHERE d1.pk_column IS NULL
)a ON t.pk_column = a.pk_column
加入的替代方法,其功能几乎相同,即添加WHERE NOT EXIST
以检查
答案 1 :(得分:0)
在表/约束定义中添加“on delete cascade”。