[英]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.