Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MySQL > ошибка при выполнении тригера |
Автор: FortMax 12.11.2009, 04:35 | ||||
Доброго времени суток ! В качестве среды использую dbForge Studio for MySQL. В БД есть табличка для регистрации пользователей, дата регистрации вставляется через триггер такого вида
при попытке добавить данные в среда происходит ошибка
Может кто знает в чем проблема ??? з.ы. ещё у меня сомнения по поводу обьекта inserted, есть ли такой в My, я его взял из MS SQL ? |
Автор: zav74 12.11.2009, 13:58 |
Вместо inserted надо NEW. |
Автор: FortMax 13.11.2009, 01:13 |
пробовал, та же ошибка |
Автор: zav74 13.11.2009, 11:09 |
Так ты же в триггере обновляешь ту же таблицу, к какой триггер привязан. Вроде ошибка в этом. Да и вообще у меня вроде не получилось сделать BEFORE INSERT, пришлось AFTER INSERT. |
Автор: FortMax 16.11.2009, 01:08 |
т.е. тригер пытается обновить не существующую запись !? |
Автор: pp2amd6 16.11.2009, 17:12 |
А почему бы просто не написать BEGIN SET dbmessbox.tUsers.Registr_Day = NOW(); END ??? |
Автор: zav74 16.11.2009, 18:32 | ||
И это тоже, но в этом случае бы не было ошибки, просто бы не обновилась запись. Но если перести с английского текст ошибки-"не может обновить таблицу 'tusers' в триггере, потому что она уже используется." Триггер сработал на этой же таблице-наверно это критично. |
Автор: FortMax 17.11.2009, 01:13 |
pp2amd6, а это будет для какой записи в таблице !? а если я буду производить вставку из пхп-скрипта, такой ошибки не будет ??? |
Автор: sir_nuf_nuf 17.11.2009, 11:19 | ||
Это точно критично по крайней мере для MySQL. Нельзя из триггера обновлять таблицу на которой он и висит. Вам нужен такой триггер.
В момент вызова NEW - указывает "новое значение строки". |
Автор: FortMax 18.11.2009, 08:27 | ||
sir_nuf_nuf, выдает ошибку
??? |
Автор: pp2amd6 18.11.2009, 10:09 | ||
FortMax,
|