avatar

Cant update table in stored function/trigger because it is already used by statement which invoked this stored function/trigger

Рейтинг 4 из 5. Голосов: 251
Den 7 лет назад
4
,

0


Ответы (4)

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
7 лет назад
Can't update table '' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
7 лет назад
скорее всего вы попытались изменить или удалить данные в той же таблице в на которой сработал триггерв mysql это не разрешено, но есть возможность записать так
CODE:
CREATE DEFINER = 'root'@'127.0.0.1' TRIGGER `editstatus` BEFORE INSERT ON `user`FOR EACH ROW BEGIN SET new.status = 1;END;
вместо
CODE:
CREATE DEFINER = 'root'@'127.0.0.1'TRIGGER editstatus AFTER UPDATE ON user FOR EACH ROWBEGIN INSERT INTO user SET status = 1;END
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
7 лет назад
тогда вы сможете изменять данные в табцице, для которой срабатывает триггер
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
7 лет назад
изменять поле при вставке в триггере можно только до вставки Не указано и только текущего поля , читать же данные и записывать из таблицы в которой сработал триггер к сожалению пока не возможно в mysql
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь