Когда я пытаюсь выполнить этот запрос на удаление, SQL выдает мне следующую ошибку:
"Невозможно удалить или обновить родительскую строку: сбой ограничения внешнего ключа (carpooling
. pedido
, CONSTRAINT pedido_ibfk_1
FOREIGN KEY (ID_ROTA
) ССЫЛКИ 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", которые связаны со строкой таблицы "rota" с помощью "ID_ROTA".Это «ID_ROTA» зависит от количества строк с одинаковым «ID_UTILIZADOR» (в данном случае 26) в таблице «rota».
Кроме того, я хочу удалить все строки «rota» с указанным «ID_UTILIZADOR».
Как это можно исправить?
РЕДАКТИРОВАТЬ
Я забыл сказать, что я не хочу использовать «каскадные ограничения», потому что есть случаи, когда я должен сделать «удаление поворота, где ID_UTILIZADOR = 26» (как упомянуто в комментарии) и избегатьудалите дочерние строки, если они существуют.