Я хочу создать триггер 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; если он присутствует, ничего не делайте.
Вы не можете обновить ту же таблицу в своем тригере ПОСЛЕ обновления. Однако вы можете создать триггер перед обновлением и установить правильные значения для 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
;
after update
потому что вы могли бы войти в цикл. Кстати, я бы предложил изменить сообщение об ошибке на английский.