go-pg - 读取 upsert 后返回的 ID

go-pg - reading the ID returned after the upsert

我在 go-pg 中创建了这样的更新插入:

db.Model(myModel).Returning("id").
OnConflict("(fieldA) DO UPDATE set fieldB=EXCLUDED.fieldB").Insert()

现在我想读取返回的 ID。我该怎么做?我见过的所有示例都忽略了 insert/update 查询返回的结果。

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。