Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.12.2010, 16:37
|
|||
---|---|---|---|
|
|||
Автоматическое добавление id из "посторонней" таблицы |
|||
#18+
Рассмотрим ситуацию. Например: есть таблица Contact, Message, History. Contact хранит в себе id, name, Message хранит в себе id, text, History содержит в себе id_Contact (какой то контакт из Contact), id_Message (какое то сообщение из Message) и еще какую то информацию, например "время создания сообщения", не суть важно... И как реализовать логику: что созданное сообщение связано с конкретным контактом. Как это можно реализовать? Я начал с тригера на Message на событие INSERT без условия: INSERT INTO History(id_Message) VALUES (new.id); В таблице История не сложно сослаться на ID сообщения, при создании сообщения, а как быть с контактом? Неужто нету способа автоматизировать добавление контакта и в ручную надо будет добавлять ID контакта типа через отдельный SQL запрос: INSERT INTO History(id_Contact) VALUES (SELECT id FROM Contacts WHERE name='Искомое имя'); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2010, 18:08
|
|||
---|---|---|---|
Автоматическое добавление id из "посторонней" таблицы |
|||
#18+
Если History должна содержать пару (id_Message, id_Contact), то и добавляй эту пару значений. В чем проблема то??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2010, 18:40
|
|||
---|---|---|---|
|
|||
Автоматическое добавление id из "посторонней" таблицы |
|||
#18+
Добавить проблем нету, ищу возможность "красиво" добавить: то есть выполнить добавление id_Contact в таблицу History в одной транзаеции с добавлением id_Message в таблицу History и добавлением сообщения в таблицу Message. Тем самым уменьшив кол-во запросов к БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.12.2010, 20:52
|
|||
---|---|---|---|
Автоматическое добавление id из "посторонней" таблицы |
|||
#18+
Мне сильно кажется, что ты либо неправильно описал структуру своих таблиц, либо неправильно описал процесс, либо не видишь очевидного. Что конкретно хранится в твоей таблице Message? Там лежит заранее подготовленный список сообщений которые в принципе могут быть посланы. Или туда кладутся все свободно-сочиненные сообщения которые кому-то захотелось послать? В первом случае тебе действительно будет нужна таблица History, но в момент собственно посылки сообщения ты не будешь обновлять таблицу Message. Во втором случае, тебе нафиг не нужна таблица History, достаточно добавить поля "адресат" и "время посылки" в таблицу Message. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=54&mobile=1&tid=2009262]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 167ms |
0 / 0 |