使用sqlx,我想知道查詢 MySql 數據庫以了解對 MySql 的查詢是否返回空行:所以在這之后,我想出了var result model.Posterr := database.SQL.Get(&result, "SELECT * FROM post WHERE post_id=? AND user_id=? LIMIT 1", postID, userID)if err == sql.ErrNoRows {?? ? log.Println(err)? ? log.Println("post not found")} else {?? ? log.Println("post found")}但我總是得到post found,盡管事實上沒有行。這里可能有什么問題,我該如何解決?
1 回答

繁花如伊
TA貢獻2012條經驗 獲得超12個贊
如果找到行錯誤將為零
這是工作示例:
var result model.Post
err := database.SQL.Get(&result, "SELECT * FROM post WHERE post_id=? AND user_id=? LIMIT 1", postID, userID)
switch err {
case nil:
log.Printf("user found: %+v\n", user)
case sql.ErrNoRows:
log.Println("user NOT found, no error")
default:
log.Printf("error: %s\n", err)
}
- 1 回答
- 0 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消