/ / MySQL update TRIGGER na tej samej tabeli - mysql, procedury składowane, wyzwalacze, aktualizacja sql

Aktualizator aktualizacji MySQL w tej samej tabeli - mysql, zapisane procedury, wyzwalacze, aktualizacja sql

mam problemy z aktualizacją polatabeli po zaktualizowaniu kolejnej kolumny tej samej tabeli. Wiem, że nie mogę wykonać wyzwalacza na tym samym stole, który aktualizuję, ale muszę znaleźć sposób, aby to zrobić.

Na przykład mój stół to:

ParentName | Age | Update_date

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

po aktualizacji age, muszę zaktualizować update_date, w mojej prawdziwej sytuacji nie mogę tego zrobić bezpośrednio z zapytania aktualizującego, ponieważ chcę, aby ta reguła działała niezależnie od sposobu aktualizacji tabeli.

Próbuję to zrobić za pomocą procedur przechowywanych, ale nie znam ich zbyt dobrze.

Ktoś ma jakiś pomysł lub może mi wyjaśnić, jak to zrobić za pomocą zabiegu?

Odpowiedzi:

0 dla odpowiedzi № 1

Twój wyzwalacz może wyglądać tak:

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 ;

Tutaj używam operator null-bezpieczny <=>. Zobacz skrzypce tutaj.