![]() |
|
Модераторы: skyboy |
![]()
|
|
| TimeKeeper |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.9.2008 Репутация: нет Всего: нет |
Нужен триггер BEFORE INSERT ON table1, который проверяет одно из вставляемых полей (table1.name) в другой (table2) таблице, если поле там есть, то вытаскивает id из table2 и заменяет вставляемое значение (table1.name) на этот id, если нет, то заносит name в table2, вытаскивает id и заменяет.
Вот сам триггер:
Но при проверке, т.е. когда заношу данные в таблицу tanble1, выдает следующее сообщение: Error Code : 1172 Result consisted of more than one row (0 ms taken) Проверяю отдельно
Выдает только одно значение, как и должен. Вот не знаю что оделать - |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
потенциально запрос может вернуть несколько значений. воспользуся агрегирующей функцией(min/max) или попробуй применить limit 1(в успехе использования последнего не уверен) Добавлено через 39 секунд кстати, проблема не в триггере. в ХП или даже при непосредственном выполнении запроса
должна такая ошибка вываливаться... |
|||
|
||||
| TimeKeeper |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.9.2008 Репутация: нет Всего: нет |
Всем спасибо, вопрос закрыт -)
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |