2014-09-18 119 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