2014-01-03 3 views
0

У меня есть таблица, например под названием UpdatesКак каскадно вручную удалить

Update_ID | Time 

и другая таблица называется Announce_Updates

Announce_ID | Update_ID 

Все они имеют каскад на удаление, но я могу думать о некоторых моментах, когда Я отключил проверку внешнего ключа и забыл реактивировать. В этот момент я, возможно, удалил некоторые данные в таблице Updates, которая не удалялась автоматически в таблице Announce_Updates.

Я понял, что что-то не так, когда общее количество Update_ID в Announce_Updates больше, чем у главной таблицы Updates.

Есть ли способ исправить это?

С уважением.

+0

http://stackoverflow.com/questions/7663724/manual-call-cascade-delete –

ответ

2

Если осиротели Announce_Updates записи вы можете удалить любые, которые не имеют соответствия Update:

DELETE FROM Announce_Updates WHERE Update_ID NOT IN (SELECT Update_ID FROM Updates) 

Как всегда убедитесь, что вы резервную копию базы данных перед выполнением каких-либо запросов, какой-то парень в Интернете сказал Вам.

Смежные вопросы