Re: Deleting conflicting rows when creating a foreign key
В списке pgsql-general по дате отправления:
| От | Igor Katson |
|---|---|
| Тема | Re: Deleting conflicting rows when creating a foreign key |
| Дата | |
| Msg-id | 49929637.50002@gmail.com обсуждение исходный текст |
| Ответ на | Re: Deleting conflicting rows when creating a foreign key (Craig Ringer <craig@postnewspapers.com.au>) |
| Список | pgsql-general |
Craig Ringer wrote: > Richard Huxton wrote: > > >> DELETE FROM table1 WHERE col1 NOT IN (SELECT id from table2); >> > > Just as a side note: If you have a large number of missing IDs and don't > want to wait a long time, you may be better off with something like > (untested, but I think it's right - TEST FIRST): > > SELECT * > FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.ref_col=t2.id) > WHERE t2.id IS NULL; > > -- check that the rows to be deleted are OK > > DELETE FROM table1 > USING table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.ref_col=t2.id) > WHERE table1.id = t1.id AND t2.id IS NULL; > > (by the way, being able to specify an explicit join method in a DELETE > ... USING or update ... USING would be *great*). > > -- > Craig Ringer > Thanks for the advice, Craig, I didn't know about that syntax before.
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера