首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >外键约束不显示在sysobjects中,但由于与其自身的冲突而无法创建。

外键约束不显示在sysobjects中,但由于与其自身的冲突而无法创建。
EN

Database Administration用户
提问于 2023-04-12 20:04:37
回答 1查看 135关注 0票数 1

我有一个MicrosoftSQLServer2019企业版数据库,其中我在两个表之间建立了关系:PropertiesPhotos,其中Properties是主键,Photos是外键表。

但是,名为FK_Photos_Properties的外键约束不知何故消失了:它没有出现在SSMS表设计器和

代码语言:javascript
运行
复制
SELECT * FROM sysobjects WHERE name = 'FK_Photos_Properties';

不返回结果。

当我试图使用SSMS设计器重新创建关系时,会收到一条错误消息:

无法创建关系“FK_Photos_Properties”。 ALTER语句与外键约束"FK_Photos_Properties“冲突。冲突发生在数据库"MyDB“、表"dbo.Properties”、列'ID‘中。

看来外键还存在,但在哪里?这里发生什么事情?

DBCC CHECKDB不返回错误。我还尝试用脚本编写整个数据库结构以查找FK_Photos_Properties,但它根本不在生成的脚本中。外键没有出现在我能看到的任何地方:在表设计人员的关系中也没有.窗口,也不在从数据库架构生成的脚本中。

如何才能使外键约束返回?

EN

回答 1

Database Administration用户

发布于 2023-04-12 20:59:11

外键不是对象,而是“约束”。您将在sysconstraints表中找到它。

票数 -3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/325936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档