2014-08-30 54 views
1
CREATE TRIGGER `add_history` AFTER UPDATE ON `meters` 
FOR EACH ROW 
CASE inserted.id 
WHEN 2 THEN 
    INSERT INTO waterlog SET deciliter = 5; 
WHEN 3 THEN 
    INSERT INTO eleklog SET kwh = 1; 
END CASE 

根據更新的行(ID爲2或3的記錄),我想運行一個不同的查詢。 米表看起來像MYSQL:爲什麼下面的更新觸發器不工作?

id meter value 
2  water 121 
3  elek  344 

值定期更新,需要觸發另一個表中的日誌條目的創建。

+0

你'插入into'語法是假的 – Jens 2014-08-30 21:10:10

+0

奇怪,當觸發變更爲CREATE TRIGGER'add_history'更新後'meters' FOR EACH ROW INSERT INTO澇災SET分升= 5,它工作,同樣插入 – user2473664 2014-08-30 21:12:52

回答

0

試試這個:

CREATE TRIGGER `add_history` AFTER UPDATE ON `meters` 
FOR EACH ROW 

IF (NEW.id = 2) THEN 
    INSERT INTO waterlog SET deciliter = 5; 
ELSEIF (NEW.id = 3) THEN 
    INSERT INTO eleklog SET kwh = 1; 
ENDIF 
+0

偉大。新似乎工作,而不是INSERTED – user2473664 2014-08-30 21:41:12