Go 數據庫操作異常處理
第一種寫法
第二種寫法
上述兩種寫法說明:
兩種寫法都沒啥問題,第一種寫法, 如果只插入一條數據,可以使用第一種寫法簡單;第二種寫法可以拿到執(zhí)行的 *DB ,方便后續(xù)的 DB 操作
說明:
update 方法將返回執(zhí)行完之后的 *DB, 需要通過指針對象才能獲取正確的 RowAffected。
事務的提交也可能會有 error, 要判斷是否正確 commit
需要判斷 tx.Error,因為事務的提交可能會有 error
其實要注意的是,沒查詢到結果,也會返回一個Error
gorm 的ErrRecordNotFound也好理解,假設根據身份證號查詢公民信息,如果是一個無效的身份證ID,那必然無法查詢到結果, 其實就是查詢不到結果,會返回一個錯誤。
當然 GORM 提供了一個處理 RecordNotFound 錯誤的快捷方式,如果發(fā)生了多個錯誤,它將檢查每個錯誤,如果它們中的任何一個是RecordNotFound 錯誤。
下一篇:IIS數據庫連接出錯,請檢查連接字串