SQL запрос на удаление игнорирует ошибки и продолжает - PullRequest
0 голосов
/ 27 августа 2018

Делаем это:

delete from product 
where descricao ilike '%ACC%'

Я получаю эту ошибку:

обновление или удаление в таблице "product" нарушает ограничение внешнего ключа "fk3b140f7bc8c91aae" в таблице "productmoviment"

Мне нужно запросить продолжить и выполнить все строки, удалив те, которые не имеют, потому что, если одна строка имеет внешний ключ, она вообще не выполняет другую

Спасибо

1 Ответ

0 голосов
/ 27 августа 2018

Чтобы удалить это, вы должны определить ограничение внешнего ключа с помощью ON DELETE CASCADE.

CASCADE определяет, что при удалении ссылочной строки автоматически удаляются и ссылочные строки

читать документацию

Но есть и другой способ Вы должны сначала удалить внешний ключ, а затем удалить родительскую таблицу

 delete from childtable
 where id_parent = 1;-- child table

 DELETE FROM parent
  WHERE id_parent = 1; --parent table
...