SQL 服务器 - 违反 PRIMARY KEY 约束“PK_XX_XXXXX”且未找到约束
SQL Server - Violation of PRIMARY KEY constraint 'PK_XX_XXXXX’ and constraint not found
我们有应用程序,其中 API 与 SQL 服务器数据库通信并通过存储过程获取和设置数据。
在生产服务器中保存数据时,我们在应用程序中收到如下错误(自定义错误处理)
'以下选项卡的数据未成功保存,请检查数据并保存
动态:违反 PRIMARY KEY 约束 'PK_XX_XXXXXX'
现在检查问题,我们使用下面的方法在数据库中搜索给定的约束名称,但令人惊讶的是,我们没有找到任何此类约束,那么现在如何识别导致此错误的 table
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
有什么方法可以将 table 名称链接到给定的主键?
使用 INFORMATION_SCHEMA 视图...
SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
WHERE CONSTRAINT_NAME = 'PK_XX_XXXXXX'
应用程序显示错误文本的方式有问题,它被截断了,只显示了一半的约束名称。
客户给出了重现错误的具体场景,然后我找到了确切的 table 名称及其主键名称。
感谢大家的帮助。
我们有应用程序,其中 API 与 SQL 服务器数据库通信并通过存储过程获取和设置数据。
在生产服务器中保存数据时,我们在应用程序中收到如下错误(自定义错误处理) '以下选项卡的数据未成功保存,请检查数据并保存 动态:违反 PRIMARY KEY 约束 'PK_XX_XXXXXX'
现在检查问题,我们使用下面的方法在数据库中搜索给定的约束名称,但令人惊讶的是,我们没有找到任何此类约束,那么现在如何识别导致此错误的 table
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
有什么方法可以将 table 名称链接到给定的主键?
使用 INFORMATION_SCHEMA 视图...
SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
WHERE CONSTRAINT_NAME = 'PK_XX_XXXXXX'
应用程序显示错误文本的方式有问题,它被截断了,只显示了一半的约束名称。
客户给出了重现错误的具体场景,然后我找到了确切的 table 名称及其主键名称。
感谢大家的帮助。