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 關注
- 280 瀏覽
添加回答
舉報