0
私は、ユーザーが他のユーザーとアイテムを交換できるサイトで作業しています。貿易が完了すると、アイテムの所有者を変更する必要があります。2行の外部キーを切り替える
私の 'items'テーブルには、そのユーザーを参照する外部キーがあります。 2つのアイテム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が更新されて動作しませんので、意図したように、第2のSELECT文では動作しません。
ありがとうございました。それは素晴らしい作品です!これは間違いなく私にいくつかの新しいコンセプトを公開しています。私は集合関数を読み、これがなぜ機能するのかを理解する必要があります。 – galaxy233