2015-01-07 19 views
0

我想添加一個觸發器到我的數據庫,檢查插入的行的某個字段是否包含某個文本,如果是,它插入空字符串。我寫了這個,但它給我一個錯誤。MySQL觸發器來更改插入的文本

CREATE TRIGGER no_abcdef BEFORE INSERT ON MyTable 
FOR EACH ROW 
BEGIN 
IF NEW.Body LIKE '%abcdef%' THEN NEW.Body = '' END IF 
END 

有人能告訴我我做錯了什麼嗎?

+1

引發了什麼錯誤? –

+0

您的SQL語法有錯誤;請檢查與您的MariaDB服務器版本對應的手冊,以便在第4行'.Body =''END IF END'附近使用正確的語法。 –

+0

SET NEW.Body =''; –

回答

2

首先更改分隔符。然後使用set更改值

delimiter | 
CREATE TRIGGER no_abcdef BEFORE INSERT ON MyTable 
FOR EACH ROW 
BEGIN 
    IF NEW.Body LIKE '%abcdef%' THEN 
     SET NEW.Body = '' ; 
    END IF; 
END 
| 
delimiter ; 
+0

謝謝,它的工作。 :) –