Я экспериментирую с триггерами в первый раз.
Когда я пытаюсь создать триггер, используя следующее:
CREATE TRIGGER t_foldersPrivate BEFORE DELETE ON foldersPrivate
FOR EACH ROW BEGIN
DELETE FROM programs WHERE folderType = '0' AND folderID = OLD.ID;
END;
Я получаю следующую ошибку:
`1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3`
(mysql 5.1.37)
Если я избавлюсь от инструкции delete, инструкция create trigger работает нормально. Поэтому я предполагаю, что это должно иметь какое-то отношение к этому. Но для жизни меня я не уверен, что...
Вы должны изменить разделители.
Что-то вроде этого:
DELIMITER $$
CREATE TRIGGER t_foldersPrivate BEFORE DELETE ON foldersPrivate
FOR EACH ROW BEGIN
DELETE FROM programs WHERE folderType = '0' AND folderID = OLD.ID;
END$$
DELIMITER ;
Кроме того, вы должны проверить запрос удаления отдельно. Он работает?