![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
FortMax |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: нет Всего: 5 |
Доброго времени суток !
В качестве среды использую dbForge Studio for MySQL. В БД есть табличка для регистрации пользователей, дата регистрации вставляется через триггер такого вида
при попытке добавить данные в среда происходит ошибка
Может кто знает в чем проблема ??? з.ы. ещё у меня сомнения по поводу обьекта inserted, есть ли такой в My, я его взял из MS SQL ? Это сообщение отредактировал(а) FortMax - 12.11.2009, 04:37 -------------------- ![]() |
||||
|
|||||
zav74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 19.7.2006 Репутация: нет Всего: нет |
Вместо inserted надо NEW.
|
|||
|
||||
FortMax |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: нет Всего: 5 |
пробовал, та же ошибка
-------------------- ![]() |
|||
|
||||
zav74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 19.7.2006 Репутация: нет Всего: нет |
Так ты же в триггере обновляешь ту же таблицу, к какой триггер привязан. Вроде ошибка в этом.
Да и вообще у меня вроде не получилось сделать BEFORE INSERT, пришлось AFTER INSERT. |
|||
|
||||
FortMax |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: нет Всего: 5 |
т.е. тригер пытается обновить не существующую запись !?
-------------------- ![]() |
|||
|
||||
pp2amd6 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.1.2008 Где: Минск Репутация: нет Всего: нет |
А почему бы просто не написать
BEGIN SET dbmessbox.tUsers.Registr_Day = NOW(); END ??? |
|||
|
||||
zav74 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 19.7.2006 Репутация: нет Всего: нет |
И это тоже, но в этом случае бы не было ошибки, просто бы не обновилась запись. Но если перести с английского текст ошибки-"не может обновить таблицу 'tusers' в триггере, потому что она уже используется." Триггер сработал на этой же таблице-наверно это критично. |
|||
|
||||
FortMax |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: нет Всего: 5 |
pp2amd6, а это будет для какой записи в таблице !?
а если я буду производить вставку из пхп-скрипта, такой ошибки не будет ??? Это сообщение отредактировал(а) FortMax - 17.11.2009, 01:16 -------------------- ![]() |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 8 Всего: 31 |
Это точно критично по крайней мере для MySQL. Нельзя из триггера обновлять таблицу на которой он и висит. Вам нужен такой триггер.
В момент вызова NEW - указывает "новое значение строки". |
|||
|
||||
FortMax |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: нет Всего: 5 |
sir_nuf_nuf, выдает ошибку
??? -------------------- ![]() |
|||
|
||||
pp2amd6 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.1.2008 Где: Минск Репутация: нет Всего: нет |
FortMax,
Это сообщение отредактировал(а) pp2amd6 - 18.11.2009, 10:10 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |