加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何做一个更新加入PostgreSQL?

发布时间:2020-12-13 16:57:18 所属栏目:百科 来源:网络整理
导读:基本上,我想这样做: update vehicles_vehicle v join shipments_shipment s on v.shipment_id=s.id set v.price=s.price_per_vehicle; 我相信这将工作在MySQL(我的背景),但它似乎不工作在postgres。我得到的错误是: ERROR: syntax error at or near "joi
基本上,我想这样做:
update vehicles_vehicle v 
    join shipments_shipment s on v.shipment_id=s.id 
set v.price=s.price_per_vehicle;

我相信这将工作在MySQL(我的背景),但它似乎不工作在postgres。我得到的错误是:

ERROR:  syntax error at or near "join"
LINE 1: update vehicles_vehicle v join shipments_shipment s on v.shi...
                                  ^

当然有一个简单的方法来做到这一点,但我找不到正确的语法。那么,我该如何在PostgreSQL中写这个?

UPDATE syntax是:
[ WITH [ RECURSIVE ] with_query [,...] ]
UPDATE [ ONLY ] table [ [ AS ] alias ]
    SET { column = { expression | DEFAULT } |
          ( column [,...] ) = ( { expression | DEFAULT } [,...] ) } [,...]
    [ FROM from_list ]
    [ WHERE condition | WHERE CURRENT OF cursor_name ]
    [ RETURNING * | output_expression [ [ AS ] output_name ] [,...] ]

在你的情况下,我想你想要:

UPDATE vehicles_vehicle AS v 
SET price = s.price_per_vehicle
FROM shipments_shipment AS s
WHERE v.shipment_id = s.id

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读