Почему записи дочерной таблицы остаются при удалении из родительской(MySQL foreign key)?
Есть 2 таблицы Helpdesk
ticket_id (PK) ...
и
HelpdeskAnswers
anwer_id(pk)
ticket_id Foreign key on delete/update Cascade с таблицы Helpdesk
При удалении записи с Helpdesk, в HelpdeskAnswers записи остаються, которые я не могу изменить или удалить. А остаються они до тех пор, пока я не добавлю новую запись в HelpdeskAnswers или не изменю какую-нибудь нормальную запись.
Звучит как что-то, связанное с транзакциями. Вы с помощью чего и как именно удаляете из "Helpdesk" и меняете/удаляете в "HelpdeskAnswers"? И приведите полное описание этих двух таблиц (за исключением не относящихся к делу колонок).
Ну вы в своем варианте что угодно пишите, set null или еще что, а у меня там нельзя удалить роль, если есть пользователи с такой ролью. И нет здесь ни родителей, ни детей.
Насколько я понимаю у варианта потери родителей есть несколько вариантов разруливания:
а) запретить убивать родителей;
б) удалять всех детей каскадно со внуками и правнуками?
в) отвязать связь.
Вы какие constraints на foreign key прописали? Или мускул ACID не уважает?
Нет уж, Вопрос примитивен, просто на него отвечают те, кто ДУПЛЯ НЕ РЕЖЕТ в этом. Зачем отвечать если даже не осведомлен в этой теме? чтобы набрать баллы понятно. Ато какието транзакции, ссылка на тутор как это делать, предлагают мне отвязать связь.