Форум программистов CodeGuru
21 Январь 2018, 06:25:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Удаление записей при внешнем ключе  (Прочитано 13637 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DrewBlin
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 26 Июль 2009, 21:32:38 »

Добрый день. Столкнулся с такой проблемой (пока теоритически).
Есть база данных с двумя таблицами. Эти таблицы связаны внешним ключом по одному полю.
Теперь мне надо удалить несколько записей из родительской таблицы и, естественно, из дочерней все их подчиненные записи.
Но важно при удалении дочерних записей не только их удалить, но и посчитать, сколько их было удалено.
Вот и возникает проблема: удалил я записи из дочерней таблицы, посчитал, и пока добирался до удаления родительской записи - кто-то добавил новые дочерние записи. И при удалении родительской записи выйдет ошибка нарушения внешнего ключа.
Как защититься от такой ситуации? Каскадное удаление - не решение, т.к. сильно опасно при ошибочной операции и не даст возможность посчитать кол-во удаленных дочерних записей.
Заранее спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!