2014-09-18 118 views
0

嗨,这是我的第一个问题在这里,所以我只是张贴我的一些代码在这里,如果你需要一些问题的更多信息请询问。错误创建触发器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 

我不知道为什么。任何想法,欢迎前致谢。 也请原谅我的英语不太好,我不是母语的人。

回答

0

你要改变分隔符之前的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块中,也无需使用分号来加密语句。

+0

是的,这工作表示感谢! – darkbubu 2014-09-20 00:36:01