我正在使用 pq 驱动程序,我想知道为什么当我面临唯一约束违规时 pq.Error 会给出一个空列。
我可以解析Detail
,但有什么理由为什么Column
会是空的?如果我能从中获取email
而Column
不是解析会更好Detail
这是错误的样子:
Severity:"ERROR"
Code:"23505"
Message:"duplicate key value violates unique constraint "unique_users""
Detail:"Key (email)=(user3@email.com) already exists."
Hint:""
Position:""
InternalPosition:""
InternalQuery:""
Where:""
Schema:"public"
Table:"users"
Column:""
DataTypeName:""
Constraint:"unique_users"
File:"nbtinsert.c"
Line:"534"
Routine:"_bt_check_unique"
不幸的是,该Column
值为空。我正在尝试为我的应用程序提供错误消息,我想知道是否有某种方法可以获取该信息,以便我可以增强未创建实体的消息并让调用者知道该字段(email
在这种情况下) 也是如此。