MySQL триггер после обновления
Я хочу создать триггер mysql для манипулирования столбцом
это код:
CREATE TRIGGER gestion_absences after update
ON Etudiant FOR EACH ROW
begin
if( NEW.Present = 'Non')
then
update Etudiant set Nbr_Absences = (OLD.Nbr_Absences) + 1 where (NEW.Present) = 'Non';
end if;
End;
ошибка:
# 1064 - Синтаксическая ошибка рядом с '' в строке 6
Я не знаю где проблема
Я хочу, когда ученик отсутствует, номер файла увеличивается на 1; если он присутствует, ничего не делай.
1 ответ
Вы не можете обновить ту же таблицу в вашем триггере ПОСЛЕ обновления. Однако вы можете создать триггер ДО обновления и установить правильные значения для Nbr_Absences, если присутствует значение Non.
CREATE TRIGGER gestion_absences BEFORE UPDATE ON Etudiant
FOR EACH ROW
BEGIN
IF NEW.Present = 'Non' THEN
SET new.Nbr_Absences = old.Nbr_Absences + 1;
END IF;
END
;