SQL Server:外键显示一对一关系而不是一对多关系

时间:2014-09-04 00:37:45

标签: sql-server foreign-keys constraints primary-key sql-server-2012-express

出于一些神秘的原因,我使用内置的Database Diagrams GUI设计器(Server Management Studio)启动数据库设计,实际上我只使用查询命令完成了前两个表(用户和产品)。

事实证明,最后有一些我没想到的东西:

  • 用户(表)
  • 产物(表)

我在“产品”表格中创建了一个外键列(“ users_id ”),指向“用户”表(列“ users_id ”)。

而不是一对多的关系它似乎是一对一的关系?

用户表引用了产品表,我不希望这样。 问题是什么?

enter image description here enter image description here enter image description here enter image description here

编辑:4-sep-2014 10:48

droped FK_product_TO_users 约束并创建了一个新约束,但结果仍然相同。

ALTER TABLE product
DROP CONSTRAINT FK_product_TO_users 
GO
ALTER TABLE product
ADD 
CONSTRAINT FK_product_TO_users 
FOREIGN KEY (users_id) 
REFERENCES users (users_id)

编辑:4-sep-2014 12:51

我通过在表格设计中仅使用没有GUI帮助的查询来重建数据库。与 FK_product_TO_users 相关的问题已修复,但我仍然不知道原因。

在解决方案之后,另外两个表中出现了同样的问题,并且有两个FK关系。

除此之外,在这些表中输入数据似乎工作正常。 我想知道这是否只是数据库图中GUI的一个错误?

1 个答案:

答案 0 :(得分:0)

这真的很有意思。 您可以做一件事:只需删除密钥FK_product_to_users并重建密钥。 您不需要从产品表中删除users_id。