簡體   English   中英

通過使用 github.com/go-pg/pg 連接兩個表來創建更新查詢

[英]Create Update query by joining two tables with 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()

如何正確編寫代碼以達到預期的結果???

經過多次嘗試,我最終完成了下面的代碼,這給了我想要的結果。

_, err := c.postgresDB.WithContext(ctx).Model(Product).
    Set("price =? from product_segment as ps", 200).
    Where("name =?", "diam").
    Update()

如果你們有更好的方法,請分享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM