MYSQL更新触发器获取更新的行ID

时间:2014-04-11 15:30:55

标签: mysql triggers

我在MySQL中有一个表,我正在更新。我想触发器获取更新的行ID,以便用它做一些工作。我该怎么做?我可以在SQL Server中执行此操作,但我是MySQL新手,无法在线找到任何内容。

... UPDATE

所以我无法分享代码,但这基本上是我想要的。

Table: 
**id** **product** **price**
1,     Coke,         2.05 USD 
2,     Sprite,       2.00 USD
3,     7Up,          2.10 USD

我想将id 2,“Sprite”价格更新为2.50美元。现在我将正常执行此操作,但我需要运行一个将更新Audit表的Trigger。 Audit表将需要注册产品的ID。所以基本上我需要知道更新行的id是2 ...

在sql中有什么类似的东西吗?

1 个答案:

答案 0 :(得分:6)

只要id列不会更改,您就可以使用NEW.idOLD.id来引用id列。

一般来说,使用别名NEW,您可以获取更新列的当前值,并使用OLD获取该列在执行更新之前所具有的值。

CREATE TRIGGER au_product_table
    AFTER UPDATE ON product_table
    FOR EACH ROW
    UPDATE audit
        SET product_id = NEW.id
        WHERE your_condition;