通过使用 github.com/go-pg/pg 连接两个表来创建更新查询

我正在尝试通过将某些条件与另一个表连接起来来更新我的 postgres 表中的一个字段。我提到了这个链接,它给了我一个与我的场景相关的查询模型:


UPDATE product as p SET price = 200 FROM  product_segment as ps WHERE p.segment_id = ps.id and p.name = 'diam'

现在我必须将此查询转换为 orm.Query。我尝试使用 Join() 但它似乎不起作用。


我试过的代码:


_, err := c.postgresDB.WithContext(ctx).Model(Product).

    Set("price =?", 200).

    Join("LEFT JOIN product_segment as ps").

    JoinOn("ps.id = product.segment_id").

    Where("name =?", "diam").

    Update()

如何正确编写代码以获得预期结果???


红糖糍粑
浏览 79回答 1
1回答

元芳怎么了

经过多次尝试,我最终做了下面的代码,它给了我想要的结果。_, err := c.postgresDB.WithContext(ctx).Model(Product).    Set("price =? from product_segment as ps", 200).    Where("name =?", "diam").    Update()大家有更好的方法欢迎分享。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go