我正在使用postgres作为数据库,并且有2个表

accounts
id | name | status


accountOwner
account_id | user_id


我有user_id(accountOwner表)和status(帐户表)要根据我拥有的accountid更新。是否可以在1个查询中更新两个表?我尝试了以下

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

最佳答案

不,您不能一次更新两个表。 The documentation说:


  UPDATE-更新表的行


但是,可以使用FROM子句,例如:

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

10-04 14:51