如何在MYSQL更新命令之前获取价值?

时间:2018-07-19 00:59:02

标签: mysql

我有一行:

Update <Table> Set <Value> = @NewValue Where RecordID = @RecordID;

但是,现在我发现自己需要用该值的更改来更新另一个表。显然,我可以做一个单独的查询来获取原件,或者可以在最初阅读时保存原件。最好的答案是以某种方式返回它。

(RecordID是唯一的,不会返回多个值。)

1 个答案:

答案 0 :(得分:0)

您可以在一个查询中更新两个表

UPDATE t1
CROSS JOIN t2
SET t2.<value> = t1.<value>,
    t1.<value> = @NewValue
WHERE t1.RecordID = @RecordID1
AND t2.RecordID = @RecordID2

如果两个表的行相关,则使用INNER JOIN代替CROSS JOIN,并在其中放置t2条件。