2016-10-04 2 views
0

で2つのテーブルを更新し、私は(accountOwnerテーブル)USER_IDしており、状況は(表を占める)私はアカウントIDに基づいて更新されるように2つのテーブル私たちは、私は自分のデータベースとしてはpostgresを使用しています1つのクエリにpostgresql

accounts 
id | name | status 


accountOwner 
account_id | user_id 

を持つことができます持ってる。 1つのクエリで両方のテーブルを更新することは可能ですか?私は、次の

UPDATE accounts,accountOwner SET accounts.status='active', accountOwner.user_id=3 WHERE accounts.id=accountOwner.account_id AND accountOwner.account_id = 1; 

答えて

1

ノーを試してみました、あなたことはできません更新一度に二つのテーブル。 The documentationは言う: -

UPDATEただし、例えば FROM句、使用することができますの更新行テーブル

UPDATE accounts SET status = 'active' 
    FROM accountOwners 
    WHERE accounts.id = accountOwners.account_id 
    AND accountOwners.account_id = 1; 
+0

をあなたの解決策は正しいです1つではなく、1つの 'UPDATE'ステートメント*は2つのテーブルを更新することができます:' WITH sub AS(UPDATE table1 ... RETURNING ...)UPDATE table2 ... '。 –

関連する問題