/ / MySQL оновлення TRIGGER в одній таблиці - mysql, збережені процедури, тригери, sql-оновлення

MySQL оновлює TRIGGER на тому ж столі - mysql, stored-procedures, triggers, sql-update

у мене виникають проблеми при спробі оновити полетаблиці після оновлення іншого стовпця тієї ж таблиці. Я знаю, що я не можу виконати активатор в одній таблиці, яку я оновлюю, але мені потрібно знайти фокус, щоб зробити це.

Наприклад, мій стіл:

ParentName | Age | Update_date

John         12    2014-12-01
Eric         23    2014-4-01
Jack         32    2014-5-01
Jill         33    2014-2-01

після оновлення age, мені потрібно оновити update_date, у моїй реальній ситуації я не можу зробити це безпосередньо з запиту на оновлення, оскільки я хочу, щоб це правило працювало не залежно від того, як я оновлюю таблицю.

Я намагаюся зробити це за допомогою збережених процедур, але я їх не дуже добре знаю.

Хтось має якусь ідею чи може пояснити мені, як це зробити за допомогою розмитої процедури?

Відповіді:

0 для відповіді № 1

Ваш тригер може бути таким:

DELIMITER //

CREATE TRIGGER persons_updt BEFORE UPDATE ON persons
FOR EACH ROW
IF (NEW.age <=> OLD.age) THEN SET NEW.Update_date=current_date();
END IF//

DELIMITER ;

Тут я використовую нульовий безпечний оператор <=>. Будь ласка, перегляньте скрипку тут.