我在 go-pg 中创建了一个这样的 upsert:
db.Model(myModel).Returning("id").
OnConflict("(fieldA) DO UPDATE set fieldB=EXCLUDED.fieldB").Insert()
现在我想阅读返回的 id。我该怎么做?我见过的所有示例都忽略了插入/更新查询返回的结果。
我在 go-pg 中创建了一个这样的 upsert:
db.Model(myModel).Returning("id").
OnConflict("(fieldA) DO UPDATE set fieldB=EXCLUDED.fieldB").Insert()
现在我想阅读返回的 id。我该怎么做?我见过的所有示例都忽略了插入/更新查询返回的结果。
从例子来看,ID会在myModel
。
myModel := &MyModel{
FieldA: `Something something something`
}
_, err := db.Model(myModel).
OnConflict("(fieldA) DO UPDATE").
Set("fieldB = EXCLUDED.fieldB").
Insert()
if err != nil {
panic(err)
}
fmt.Println(myModel.Id)
查看 Postgres 日志,它正在insert into ... returning "id"
获取 ID。