Может кто-нибудь сказать мне, что не так с моим синтаксисом триггера создания? - PullRequest
0 голосов
/ 13 июня 2010

Я экспериментирую с триггерами впервые.

Когда я пытаюсь создать триггер, используя следующее:

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)

Если я избавлюсь от оператора удаления, оператор создания триггера будет работать нормально. Поэтому я предполагаю, что это как-то связано с этим. Но что касается меня, я не уверен, что ...

1 Ответ

1 голос
/ 13 июня 2010

Вы должны изменить разделители.

Примерно так:

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 ;

Кроме того, вы должны проверить запрос на удаление отдельно. Это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...