3 回答
TA贡献2041条经验 获得超4个赞
请修改您的问题并使其适当。
重复的键值是一个有效的错误。如果要删除错误,则应避免duplicate进入或unique从中删除约束。
将 pgx 与 database/sql 一起使用,pgx 只是充当驱动程序sql.ErrNoRows。从 database/sql 库返回错误。pgx.ErrNoRows仅在pgx直接调用函数时返回。由于 database/sql 会从驱动程序中冒出一些错误。
sqlStatement := `
INSERT INTO articles (uri)
VALUES ($1)
RETURNING id`
id := 0
//make sure what type of data you want to scan you should pass it inside scan()
err = db.QueryRow(sqlStatement, article.URI).Scan(&id)
if err != nil {
if err == sql.ErrNoRows { //pgx.ErrNoRows
// there were no rows, but otherwise no error occurred
} else {
log.Fatal(err)
}
}
fmt.Println("New record ID is:", id)
TA贡献1963条经验 获得超6个赞
我知道这是个老问题,但我刚刚发现解决方案不要使用
var pgErr *pgconn.PgError
尝试使用
var pgErr pgx.PgError
反而
- 3 回答
- 0 关注
- 145 浏览
添加回答
举报