4

我在 go-pg 中创建了一个这样的 upsert:

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

现在我想阅读返回的 id。我该怎么做?我见过的所有示例都忽略了插入/更新查询返回的结果。

4

1 回答 1

3

例子来看,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。

于 2020-05-28T01:41:03.010 回答