如何从触发器的选择查询中获取值并将该值插入表中?
对于INSERT触发查询,您将使用对象NEW; 对于UPDATE触发查询,您将使用对象OLD; 对于DELETE触发查询,您将使用对象OLD。
示例1:如果您运行INSERT INTO mytable(num)VALUES(10); 在INSERT触发器中,您将该列引用为NEW.num(10);。
示例2:如果您运行UPDATE mytable SET num = 41 WHERE num = 10; 在UPDATE触发器中,您引用OLD.num(10)和NEW.num(41)
示例3:如果您运行DELETE mytable num = 104; 在DELETE触发器中,您引用OLD.num(104)
使用这样的东西:
DELIMITER $$ create trigger my_trigger AFTER UPDATE on my_update_table for each row begin DECLARE P1,P2 VARCHAR(50); SELECT PRICENAME INTO P1 FROM PRICEIES WHERE PRICEID=OLD.PRICEID; SELECT PRICENAME INTO P2 FROM PRICEIES WHERE PRICEID=NEW.PRICEID; INSERT INTO AUDITLOG(OLDVALUE, NEWVALUE) VALUES (P1,P2); end $$ DELIMITER ;