![]() |
|
Модераторы: skyboy |
![]()
|
|
| andrei86 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.2.2012 Репутация: нет Всего: нет |
Добрый день!
Подскажите пожалуйста можно ли реализовать только средствами БД следующую задачу: У меня есть следующий прототип БД: ![]() Как видно по схеме я использую уникальный 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 |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Таблицы, говорите, блокируются? А там точно InnoDB?
PS А другой сервер -- возьмите postgres, конечно. Вменяемость его архитекторов и кодеров гораздо вышэ (при всех отдельных гитиках). |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |