如何使用 beego/orm 解决 'no LastInsertId available'
How to work around 'no LastInsertId available' using beego/orm
我正在尝试使用 https://github.com/astaxie/beego/tree/master/orm 将 struct
插入到 postgres 数据库中。操作要简单
import "github.com/astaxie/beego/orm"
type Product struct {
ID string `orm:"pk"`
...
}
product := &Product{ID: productID}
_, err := orm.NewOrm().Insert(product)
if err != nil {
log.Fatal(err)
}
我一直收到这个; no LastInsertId available
每当代码运行时(否则插入成功)但我崩溃了。
我知道这是由于 postgresql 的限制,因为我使用 https://www.github.com/lib/pq 驱动程序。
有没有办法使用 beego/orm 来解决这个问题?
如果崩溃是由您的 log.Fatal(err)
引起的,您可以通过检查和避免它来避免这种情况:
_, err := orm.NewOrm().Insert(product)
if err != nil {
if err.Error() == "no LastInsertId available" {
log.Println(err)
} else {
log.Fatal(err)
}
}
我正在尝试使用 https://github.com/astaxie/beego/tree/master/orm 将 struct
插入到 postgres 数据库中。操作要简单
import "github.com/astaxie/beego/orm"
type Product struct {
ID string `orm:"pk"`
...
}
product := &Product{ID: productID}
_, err := orm.NewOrm().Insert(product)
if err != nil {
log.Fatal(err)
}
我一直收到这个; no LastInsertId available
每当代码运行时(否则插入成功)但我崩溃了。
我知道这是由于 postgresql 的限制,因为我使用 https://www.github.com/lib/pq 驱动程序。
有没有办法使用 beego/orm 来解决这个问题?
如果崩溃是由您的 log.Fatal(err)
引起的,您可以通过检查和避免它来避免这种情况:
_, err := orm.NewOrm().Insert(product)
if err != nil {
if err.Error() == "no LastInsertId available" {
log.Println(err)
} else {
log.Fatal(err)
}
}