我正在一个用户可以与其他用户交易物品的网站上工作。交易完成后,我需要更改物品的所有者。
我的“项目”表有一个引用用户的外键。给定两个项目 id,如何相互切换外键?
我试过这样的东西......
UPDATE items
SET user_id = (
SELECT users.id FROM items
INNER JOIN users
ON users.id = items.user_id
WHERE items.id = $1
)
WHERE id = $2;
UPDATE items
SET user_id = (
SELECT users.id FROM items
INNER JOIN users
ON users.id = items.user_id
WHERE items.id = $2
)
WHERE id = $1;
这不起作用,因为在执行第一个 UPDATE 之后,user_id 被更新,所以第二个 SELECT 语句没有按预期工作。