Обновление или удаление нарушает ограничение внешнего ключа postgresql - PullRequest
0 голосов
/ 04 декабря 2018

Я получаю

QueryFailedError: обновление или удаление в таблице "good_type" нарушает ограничение внешнего ключа "goods_goodTypeId_fkey" в таблице "goods"

при использовании typeorm,хотя, когда я проверяю код для этого внешнего ключа,

  ALTER TABLE public.goods
      ADD CONSTRAINT "goods_goodTypeId_fkey" FOREIGN KEY ("goodTypeId")
      REFERENCES public.good_type (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION;

Как я понимаю из моих знаний, поскольку ON UPDATE установлен на NO ACTION, я не получу эту ошибку в любом случаекогда я пытаюсь обновить свою сущность.

Итак, мой вопрос: что вызывает эту ошибку и как я могу ее исправить?

1 Ответ

0 голосов
/ 04 декабря 2018

NO ACTION не означает, что вы не получите никаких ошибок, это означает, что изменение не каскадно связано с таблицей ссылок.

Поскольку PostgreSQL по-прежнему должен поддерживать целостность данных, единственный способ добиться этогодолжен иметь UPDATE сбой.

...