作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 pq 驱动程序,我想知道为什么当我遇到唯一约束违规时 pq.Error 给出一个空列。
我可以解析 Detail
但是 Column
是空的有什么原因吗?如果我可以从 Column
获取 email
而不是解析 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
值为空。我正在尝试为我的应用程序提供错误消息,我想知道是否有某种方法可以获取该信息,以便我可以增强未创建实体的消息并让调用者知道该字段(电子邮件
在这种情况下)也是如此。
最佳答案
具体的错误消息(包括违反的约束和列/值)在字段Detail
中。
编辑:
我猜 Column
是空的,因为唯一约束可能会影响多个列。 Constraint
提供约束名称,结合 Schema
和 Table
您可以在 pg_constraint
中查找此约束。字段 conkey
可能包含对所覆盖属性的引用。
关于postgresql - 如何获取 unique_constraint 违规的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57846270/
与其说这是一个技术问题,不如说是一个政策问题。 开发应用程序时,如果附属机构提供的链接构成您内容的一部分,您是否可以显示该链接?例如,专门用于从 Affiliate Window 查找特定流派黑胶唱片
我是一名优秀的程序员,十分优秀!