Re: Deleting conflicting rows when creating a foreign key
В списке pgsql-general по дате отправления:
| От | Richard Huxton |
|---|---|
| Тема | Re: Deleting conflicting rows when creating a foreign key |
| Дата | |
| Msg-id | 49919352.3000603@archonet.com обсуждение исходный текст |
| Ответ на | Deleting conflicting rows when creating a foreign key (Igor Katson <descentspb@gmail.com>) |
| Ответы |
Re: Deleting conflicting rows when creating a foreign key
|
| Список | pgsql-general |
Igor Katson wrote: > I am doing an ALTER TABLE to create a foreign key, however with some > rows i get: > > insert or update on table "name" violates foreign key constraint > "name_fkey" > > How can I just drop the conflicting rows while doing that? You can't automatically. You can do something like: BEGIN; SELECT * FROM table1 WHERE col1 NOT IN (SELECT id from table2); -- check results are as you'd expect DELETE FROM table1 WHERE col1 NOT IN (SELECT id from table2); ALTER TABLE table1 ADD CONSTRAINT ... FOREIGN KEY ... COMMIT; -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера