
日常 Go 开发过程中经常会操作数据库,使用 INSERT
操作时可能会遇到主键或者唯一索引发生冲突的情况,日志输出的内容如下所示。
Error 1062: Duplicate entry '%s' for key %d
正确处理方式
断言 Error
接口为 mysql.MySQLError
类型,随后判断 Number 字段值为 1062
即可进行优雅处理。
import (
"database/sql"
"os"
"github.com/go-sql-driver/mysql"
_ "github.com/go-sql-driver/mysql"