# mysqlerr **Repository Path**: zhwt/mysqlerr ## Basic Information - **Project Name**: mysqlerr - **Description**: Go 语言 MySQL 8.0 服务器端错误代码常量, 方便数据库程序调试 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mysqlerr mysqlerr 是用于 MySQL 8.0 的服务器端错误代码常量, 主要目的是为了方便数据库程序调试. ## 使用方法 ```bash $ go get gitee.com/zhwt/mysqlerr ``` 或 ```bash $ go get github.com/Zhwt/mysqlerr ``` ## 目的 在调试数据库程序的过程中经常会有这样一些代码: ```go if strings.Contains(err.Error(), "Access denied") { // 处理拒绝访问的代码 } ``` 或者是这样的错误处理: ```go if driverErr, ok := err.(*mysql.MySQLError); ok { if driverErr.Number == 1045 { // 直接写错误对应的代码 // 处理错误的代码 } } ``` 非常的不直观, 本项目的目的是为了将错误处理变得更加直观. 比如上面的第二段代码可以改写成这样: ```go if driverErr, ok := err.(*mysql.MySQLError); ok { if driverErr.Number == mysqlerr.ER_ACCESS_DENIED_ERROR { // 错误代码对应的英文常量名称 // 处理错误的代码 } } ``` 可以更加直观的从代码中看出这里是处理什么类型的错误. ## 其他说明 这里的常量名称与 MySQL 文档中使用的常量名称保持一致, 覆盖直到 MySQL 8.0.20 版本在内的常量名称. 如发现有遗漏或者不正确的常量欢迎提 issue. This project was originally inspired by [VividCortex/mysqlerr](https://github.com/VividCortex/mysqlerr) and that project covers constants up to MySQL 5.7.13. # License MIT License.