错误创建触发器MYSQL PHPMyadmin
问题描述:
嗨,这是我的第一个问题在这里,所以我只是张贴我的一些代码在这里,如果你需要一些问题的更多信息请询问。错误创建触发器MYSQL PHPMyadmin
我想通过PHPMyadmin创建一个触发器是MYSQL(是的,我不知道最好的工具)。 这个想法是能够在执行插入查询之前清理一个字符串。够简单。
我的代码:
CREATE TRIGGER `CLEAR` BEFORE INSERT ON `TABLE`
FOR EACH ROW BEGIN
SET NEW.LNAME = REPLACE(NEW.LNAME,'?','');
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
我不知道为什么。任何想法,欢迎前致谢。 也请原谅我的英语不太好,我不是母语的人。
答
你要改变分隔符之前的CREATE语句,并设置回算账:
DELIMITER |
CREATE TRIGGER `CLEAR` BEFORE INSERT ON `TABLE`
FOR EACH ROW BEGIN
SET NEW.LNAME = REPLACE(NEW.LNAME,'?','');
END |
DELIMITER ;
否则,你可以写你的触发器,它不需要分隔符:
CREATE TRIGGER `CLEAR` BEFORE INSERT ON `TABLE`
FOR EACH ROW
SET NEW.LNAME = REPLACE(NEW.LNAME,'?','')
因为有在触发器主体中只执行一条语句,您不必将其包含在BEGIN
... END
块中,也无需使用分号来加密语句。
是的,这工作表示感谢! – darkbubu 2014-09-20 00:36:01