SQL Server-违反主键约束'PK_XX_XXXXX'且未找到约束

时间:2018-11-15 13:50:59

标签: sql-server primary-key

我们拥有API与SQL Server数据库进行通信并通过存储过程获取和设置数据的应用程序。

在将数据保存在生产服务器中时,我们在应用程序中遇到错误(自定义错误处理),如下所示 ‘以下标签的数据未成功保存,请检查数据并保存 动态:违反主键约束'PK_XX_XXXXXX'

现在要检查问题,我们正在使用下面的方法在数据库中搜索给定的约束名称,但是令人惊讶的是,我们没有找到任何这样的约束,因此现在如何确定导致此错误的表

SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects 
WHERE type_desc IN ('PRIMARY_KEY_CONSTRAINT')
order by 1

有什么方法可以将表名链接到给定的主键?

2 个答案:

答案 0 :(得分:1)

使用INFORMATION_SCHEMA视图...

SELECT * 
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE 
WHERE CONSTRAINT_NAME = 'PK_XX_XXXXXX'

答案 1 :(得分:0)

应用程序如何显示错误文本,以某种方式将其截断并且仅显示约束名称的一半存在问题。

客户提供了特定的情况来重现该错误,然后我找到了确切的表名及其主键名。

感谢您的帮助。

相关问题