Удалите строки, на которые НЕ ссылается внешний ключ

Вы могли также попробовать OpenStreetMap NameFinder (или ток Nominatim), который содержит открытый исходный код, подобные Wiki уличные данные для (потенциально) всего мира.

6
задан Community 23 May 2017 в 11:45
поделиться

2 ответа

По сути, серверы SQL не поддерживают двустороннюю информацию для ограничений, поэтому единственный вариант - сделать то, что сервер будет делать внутри, если вы удалите строку: проверьте все остальные таблицы.

Если (и сначала будьте чертовски уверены) ваши ограничения являются простыми проверками и не содержат каких-либо операторов типа «каскадное удаление», вы можете попытаться удалить все из своей групповой таблицы. Таким образом, любая удаляемая строка не будет иметь никаких ссылок. В противном случае вы застряли с ответом Квассного.

3
ответ дан 8 December 2019 в 18:39
поделиться
DELETE
FROM    group g
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    table1 t1
        WHERE   t1.groupid = g.groupid
        UNION ALL
        SELECT  NULL
        FROM    table1 t2
        WHERE   t2.groupid = g.groupid
        UNION ALL
        …
        )
10
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: