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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа со списком таблиц 
:(
    Опции темы
444ert666
Дата 20.11.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день! 
Я совсем еще плохо знаю SQL. И поэтому проблема для меня вполне серьезная, даже не знаю с какой стороны подойти и гугл ничем не поог:( 
Описание:
Версия сервера: 5.1.29-rc-community
Есть таблица (depends) с одним полем table, в этой таблице находится список зависимых таблиц(зависят они все от одной таблицы, она в принципе мне не интересна, просто хочу повесить на нее триггер, но пока проблемы возникают даже с пустяками). У всех зависимых таблиц есть одно одинокавое поле: pid. 
задача: 
Нужно сначала выбрать весь список зависимых таблиц из depends, и потом для каждой из них выполнить одну и туже операцию, например:удалить во всех зависимых таблицах запись с pid=3. 
Даже не знаю с какой стороны подойти:((( 
Заранее спасибо!
PM MAIL   Вверх
skyboy
Дата 20.11.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



как на меня, вполне достаточно внешних ключей(FOREIGN KEY), если необходимо автоматическое поддержание ссылочной целостности; или формирование запросов на стороне клиента, если необходима хитрая логика управления узлами(удалить все элементы такого типа, связанные с этим элементом). зачем такие хитрости, как имя таблицы в поле таблицы и посроение динамических запросов на стороне сервера?
PM MAIL   Вверх
444ert666
Дата 20.11.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



skyboy, возможно вы и правы smile но я ж говорю,я плохо знаком с MySQL. Конкретная задача:
База используется php скриптом, в ней могут появлятся в любой момент времени новые  таблицы с текстовыми данными. Грубо говоря это таблицы с фразами на разных языках. предположим есть таблица
messages
(ее поля:
id(key)
eid(id фразы для всех языков для конкретной фразы одно значение, но разное для разных фраз}
text(собственно перевод фразы)
pid(идентификатор языка))

После вставки новой фразы через мой php-скрипт в эту таблицу,добавляется n-ое число записей,  равное числу записей в таблице languages
(ее поля:
pid(идентификатор языка)
name(название языка)

Дык вот хотелось бы чтобы таблица messages жестко зависила от таблицы languages, т.е. при добавлении нового записи в languages, сервер пробегал по всем уникальным значениям messages.eid и втсавлял бы по новой записи полностью идентичной каждой уникальной записи messages.eid, за исключением поля messages.pid, у этого поля должно быть значение - идентификатор нового языка.... .ПОдобная процедура должна срабатывать и при удалении языкаиз таблицы languages, только теперь мы удаляем записи для каждого уникального messages.eid, со значением messages.pid = идентификатору удаленного языка.

Собственно, почему я решил избрать еще одну таблицу для храненияимен таблиц таким образом зависящих от списка доступных языков, потому, что таблицы могут добавлятся всякого характера и зависимые и независимые, те которые зависят я вставлял в таблицу depends, таким образом всегда имея под рукой список зависимых от языков таблиц. ВОт только что делать дальше с этим списком никак не пойму:((( подскажиет пожалуйста, может есть другие выходы?

P.S. Я конечно ог быобновлять все таблицы с помощью php, но всеж хотелось бы использовать возможности MySQL, по двум причинам:
1)все ж это будет работать мне кажется быстрее(или я заблуждаюсь?)
2)получше разобраться в MySQL, дабы хоть как-то использовать его возможности на максимум, не ограничиваясь SLECT,INSERT,UPDATE,DELET.


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


 




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


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

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