powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггер, записать в поле таблицы время изменения другого поля
2 сообщений из 2, страница 1 из 1
Триггер, записать в поле таблицы время изменения другого поля
    #39356677
Есть таблица:автор
Код: sql
1.
2.
3.
4.
поле 1,
поле 2,
...
ext_processed


Надо при изменении поля ext_processed сохранить время этого изменения.
Добавил поле:
ext_date_upd_ext_processed datetime DEFAULT NULL
и пытаюсь сделать триггер:
автор
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE 
	DEFINER = 'MyUser'@'%'
TRIGGER MyBD.trigger1
	BEFORE UPDATE
	ON MyBDx.receipt
	FOR EACH ROW
BEGIN
   if old.ext_processed=0 and new.ext_processed=1 then
      update receipt ss set ss.ext_date_upd_ext_processed=now();
   end if;
END


Пробовал и BEFORE и AFTER
алиас тоже добавлял/убирал (ss)
Вот ошибка:
Код: plsql
1.
2 Can't update table 'receipt' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. SQL.sql 3 8 



Где то недопонимаю.
...
Рейтинг: 0 / 0
Триггер, записать в поле таблицы время изменения другого поля
    #39356686
Алексей Стрекалов, Закрывайте, разобрался.
Спасло:
Код: plsql
1.
2.
3.
4.
5.
6.
BEGIN
   if old.ext_processed=0 and new.ext_processed=1 then
      ##update receipt ss set ss.ext_date_upd_ext_processed=now();
      SET NEW.ext_date_upd_ext_processed = now();
   end if;
END
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Триггер, записать в поле таблицы время изменения другого поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]