【发布时间】:2012-01-19 07:38:00
【问题描述】:
当我尝试执行这个删除查询时,SQL 给了我这个错误:
“无法删除或更新父行:外键约束失败(carpooling.pedido, CONSTRAINT pedido_ibfk_1 FOREIGN KEY (ID_ROTA) REFERENCES rota (ID_ROTA))”
查询:
DELETE rota,rota_alerta,pedido FROM rota
LEFT OUTER JOIN pedido ON rota.ID_ROTA=pedido.ID_ROTA
LEFT OUTER JOIN rota_alerta ON rota.ID_ROTA=rota_alerta.ID_ROTA
WHERE rota.ID_UTILIZADOR=26;
我正在尝试从“pedido”和“rota_alerta”中删除所有通过“ID_ROTA”链接到“rota”表行的行。此“ID_ROTA”取决于表“rota”上具有相同“ID_UTILIZADOR”(在本例中为 26)的行数。
另外,我想删除所有具有指定“ID_UTILIZADOR”的“rota”行。
我该如何解决这个问题?
编辑
我忘了说我不想使用“级联约束”,因为在某些情况下我应该执行“删除 ID_UTILIZADOR=26 的 rota”(如评论中所述)并避免删除子行如果它们存在。
【问题讨论】: