У меня есть таблица с несколькими полями. Одно поле «date_assigned», а другое «назначено». «date_assigned» имеет тип данных timestamp и может быть нулевым. «назначенный» имеет тип данных tinyint, и значения могут быть 0 (по умолчанию; «не назначено») или 1 («назначено»).
Я хотел бы создать триггер, который автоматически обновляет «назначенное» значение до 1, когда «date_assigned» обновляется значением (не ноль).
Я использовал триггеры раньше, но не использовал их вместе с проверкой, является ли значение нулевым. Я не уверен в синтаксисе, поэтому любая помощь будет оценена. Пока что пробовал:
DELIMITER $$
CREATE
TRIGGER `<database>`.`<trigger_name>` AFTER UPDATE
ON `<database>`.`<table>`
FOR EACH ROW BEGIN
IF(NEW.date_assigned IS NOT NULL) THEN
UPDATE <table> SET assigned = '1';
END$$
DELIMITER ;
Я только что получил код ошибки: 1064. Я посмотрел на код, и кажется, что это синтаксическая ошибка. Так какую синтаксическую ошибку я делаю, и это даже правильная «грамматика»?