Почему мой триггер не работает в MySQL? - PullRequest
1 голос
/ 14 января 2010
mysql> desc test;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| a     | int(10) unsigned | NO   |     | NULL    |                |
| b     | int(10) unsigned | NO   |     | NULL    |                |
| c     | int(10) unsigned | NO   |     | NULL    |                |
| str   | varchar(9)       | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql>  CREATE TRIGGER Capitalize BEFORE INSERT ON test
    ->  SET NEW.str = UPPER(NEW.str)
    ->  ;
ERROR 1064 (42000): 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 'SET NEW.str = UPPER(NEW.str)' at line 2
mysql>

Я слежу за этим ответом: Как определить столбец, который может автоматизировать использование заглавных букв?

1 Ответ

0 голосов
/ 14 января 2010
CREATE TRIGGER Capitalize BEFORE INSERT ON test
FOR EACH ROW
    SET NEW.str = UPPER(NEW.str);

Прислушайтесь к совету в сообщении об ошибке: « проверьте руководство , соответствующее вашей версии сервера MySQL, для правильного использования синтаксиса.»

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