Лучший способ удалить страницу с подключенными сообщениями? - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть страница, которую я создал с целой кучей «элементов фида» - например, Facebook - проблема, с которой я сейчас сталкиваюсь, - это лучший способ выяснить «логику удаления». То есть, если пользователь удаляет СТРАНИЦУ - я хочу удалить «подключенные сообщения» к этой странице, а именно:

  1. кормить предметов
  2. комментарии
  3. и т.д.

У меня есть несколько таблиц MySQL, которые содержат feedItems, комментарии и т. Д., Но я не уверен, что самый «оптимальный» способ удалить все это, если пользователь удалит страницу?

Кто-нибудь сможет посоветовать? Я думаю, это похоже на StackOverflow - если вопрос удаляется, какой лучший способ удалить

  1. вопрос
  2. ответы
  3. все комментарии

и т. Д.

1 Ответ

0 голосов
/ 17 февраля 2012

Если вы используете InnoDB, самый простой способ - использовать ON DELETE CASCADE на ваших внешних ключах.Эта опция заставляет MySQL удалять строки в таблицах, когда строка, на которую ссылается внешний ключ, удаляется.

Например, если у вас есть таблица «вопрос» с идентификатором первичного ключа и таблица «ответы»с внешним ключом «question_id», когда вопрос будет удален, все строки в «answers», которые содержат тот же вопрос_id, также будут удалены.

В противном случае вам нужно написать несколько операторов delete, по одной для каждоготаблица.

...