Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Каскадные связи в MySQL 
:(
    Опции темы
andrei86
Дата 5.2.2012, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.2.2012

Репутация: нет
Всего: нет



Добрый день!

Подскажите пожалуйста можно ли реализовать только средствами БД следующую задачу:
У меня есть следующий прототип БД:
user posted image
Как видно по схеме я использую уникальный uid ключ для всей БД.
Такие данные как `telephon` и `email` могут быть связаны как с `user` так и с `client` так и с друг другом. Ну и например `client` может быть связан с `user` т.е. все может быть связано друг с другом неограниченно раз.
Так вот, хотелось бы организовать связи при удалении данных. Приведу пример:
Есть пользователь `user1` с `uid` = 10 в таблице `user` и у него есть несколько телефонов  (у телефонов указан что `parent_uid`=10).
Предположим я хочу удалить этого пользователя. Для этого я просто удаляю запись из `uid` таблицы где `uid` = 10. И вот тут должны заработать связи - автоматически должны удалиться и пользователь и телефоны из таблиц (`user` and `telephon`). Я смог этого дробится связями в MySQL, но при удалении телефонов должна чистится `uid` таблица с `uid`оми от телефонов, так как телефоны могут быть не последними в иерархии.
Так вот вопрос - можно ли эту логику организовать средствами связей в MySQL?

ПС: Пробовал писать триггеры, но они не работают, так как таблицы блокируются :(
Может перейти на другую БД? Но на какую?

Заранее спасибо.
Андрей.

Это сообщение отредактировал(а) andrei86 - 5.2.2012, 03:24
PM MAIL   Вверх
tzirechnoy
Дата 5.2.2012, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 3
Всего: 16



Таблицы, говорите, блокируются? А там точно InnoDB?

PS А другой сервер -- возьмите postgres, конечно. Вменяемость его архитекторов и кодеров гораздо вышэ (при всех отдельных гитиках).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.