Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.107.236] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
У меня есть БД с большим количеством таблиц. Больше 20. Самая длинная связь проходит через 9 таблиц. Вопрос: как мне организовать удаление всех записей из подчинённых записей при удалении записи из главной таблицы? Советы, типа "руками" мне не подходят.
|
Сообщ.
#2
,
|
|
|
Точно не знаю, но помоему тригеров в MySQL небыло....
Ну в общем, если такого механизма нет, то при удалении, тебе придётся самому (програмно разумеется) позаботиться о удалении подчинённых записей других таблиц.... |
Сообщ.
#3
,
|
|
|
В M$ Access, M$SQL - есть а в MySQL? Не верю... Говорили гдето-есть. На официальном сайте смотрел - но ничего не понял. Там чего написано про Foreign keys всякие хитрые делиты. Но конкретику я в ихнем буржуйском языке не очень-то обнаружил.
|
Сообщ.
#4
,
|
|
|
Foreign key - дословно внешний ключ (т.е. то поле по которому идет связывание таблиц). Скорее всего придется удалять все записи именно "вручную" Только сначала надо бы подумать, что удалять в первую очередь, а что в последнюю...
|
Сообщ.
#5
,
|
|
|
Связывание идёт по вторичному ключу. Все связи нарисованы на бумажке. Осталось их прописать. Скачал я две странички с описанием и примером. Попробую дома разобраться с ихним буржуйским. Там даже есть примерчИК из двух табличек. Если кто-то знает как прописывать, так называемые, CONSTRAINT'ы то обьясните по-человечески. То я с первого раза не въехал.
|
Сообщ.
#6
,
|
|
|
в MySQL внешние ключи поддерживаются в таблицах InnoDB, нужно соответственно перегнать таблицы (если они, например в MyISAM) в этот формат, естественно описав таблицы с учетом связей по ключам, и с параметром CASCADE (каскадно удалять ненужные, потерявшие смысл и нарушающие целостность)
Подробнее об этом можно почитать в мануале, в разделе Типы таблиц (могу ошибиться в названии) по-моему, так |