我正在尝试解析 MySQL 错误,以便从 Go API 向用户返回干净的错误消息。
我读了一些类似 this one 的文章这显示了我想做什么,但它看起来像模块 go-mysql-driver我正在使用的那个不支持 parseError。
举个具体的例子,报错:
Error 1062: Duplicate entry 'John' for key 'name_UNIQUE'
我希望能够构建一个数据结构,使我能够组织信息以便返回用户友好的消息,例如
Error with the field 'name': 'John' already exist"
因此我还可以将其翻译成不同的语言,并将随时可用的错误消息发送回客户端。
谢谢!
最佳答案
我在 packets.go 中找到了一些提示和 driver_test.go
例子:
me, ok := err.(*mysql.MySQLError)
if !ok {
return err
}
if me.Number == 1062 {
return errors.New("It already exists in a database.")
}
return err
me.Number
的可能值可以在 mysql documentation 中找到
关于mysql - 如何解析MySQL错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493985/