當(dāng)我在 postgres 中遇到錯(cuò)誤時(shí),我根本無法檢索錯(cuò)誤代碼號(hào)。在我的程序測(cè)試中,我知道我會(huì)收到以下錯(cuò)誤“pq:重復(fù)鍵值違反唯一約束“associations_pkey””。查看 postgres 文檔,這很可能是 23505 的 pq 錯(cuò)誤代碼。我需要在我的 Go 程序中獲取該數(shù)字,以便我可以檢查不同類型的錯(cuò)誤并以有用的方式響應(yīng)最終用戶。但是,我似乎無法掌握 Go 中的錯(cuò)誤代碼,只有錯(cuò)誤消息。我的代碼如下:stmt, _ := DB.Prepare("INSERT INTO table (column_1) VALUES ($1)")_, err = stmt.Exec("12324354")if err != nil { log.Println("Failed to stmt .Exec while trying to insert new association") log.Println(err.Error()) fmt.Println(err.Code())} else { Render.JSON(w, 200, "New row was created succesfully")}
2 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
您需要將錯(cuò)誤輸入到類型中*pq.Error:
pqErr := err.(*pq.Error)
log.Println(pqErr.Code)
- 2 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報(bào)
0/150
提交
取消