我在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中有什么类似的东西吗?
答案 0 :(得分:6)
只要id
列不会更改,您就可以使用NEW.id
或OLD.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;