2014-08-30 55 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