我在 go-pg 中创建了这样的 upsert:
db.Model(myModel).Returning("id").
OnConflict("(fieldA) DO UPDATE set fieldB=EXCLUDED.fieldB").Insert()
现在我想阅读返回的 ID。我该怎么做?我见过的所有示例都忽略了插入/更新查询返回的结果。
最佳答案
从 example 来看,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。关于postgresql - go-pg - 读取更新后返回的 ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62055309/