Привет, я пытаюсь обновить две разные таблицы с помощью одного триггера, но я получаю синтаксическую ошибку, и я не уверен, что я делаю неправильно
1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL для правильного синтаксиса для использования
около 'ОБНОВЛЕНИЯ специальностей с
ПРИСОЕДИНИТЬСЯ к speciality_objects o
ON s.id = o.speciality 'в строке 2
триггеры работают нормально, если я просто обновляю одну таблицу, но не могу поместить их оба в один триггер
вот мой триггер
DELIMITER $$
CREATE TRIGGER after_user_type_or_status_change
AFTER UPDATE
ON users
FOR EACH ROW
BEGIN
UPDATE stats s
SET
ee_counter =
CASE
WHEN NEW.type= 1 THEN ee_counter + 1
WHEN NEW.type= 3 && OLD.type = 2 THEN ee_counter + 1
WHEN OLD.type= 1 && NEW.type != 3 THEN ee_counter - 1
ELSE ee_counter
END ,
er_counter =
CASE
WHEN NEW.type= 2 THEN er_counter + 1
WHEN NEW.type= 3 && OLD.type = 1 THEN er_counter + 1
WHEN OLD.type= 2 && NEW.type != 3 THEN er_counter - 1
ELSE er_counter
END
WHERE
s.id = 1;
END $$
BEGIN
UPDATE specialitys sp
JOIN speciality_objects o
ON sp.id = o.speciality_id
JOIN users u
ON o.user_id = u.id
SET
counter =
CASE
WHEN NEW.status = 1 THEN counter + 1
ELSE counter
END
WHERE
sp.id = o.speciality_id ;
END $$
DELIMITER ;