【问题标题】:Foreign Key Problem外键问题
【发布时间】:2011-08-25 05:07:34
【问题描述】:

我有两张桌子:

  1. DeptMast
  2. EmpMast

两个表都有一个名为DeptName 的列,并且我在两个表中的DeptName 上都有主键。

现在,当我在 EmpMast 的列 DeptName 上创建外键时,SQL Server 给了我这个错误:

引用的表中没有主键或候选键 与外键中的引用列列表匹配的“DEPTMAST” 'FK_Key'。

如果我在 deptmast.Deptname 上创建唯一索引,那么我不会收到任何错误。为什么会这样?

【问题讨论】:

  • 您可能会考虑返回并接受以前问题的一些答案。这将使社区的响应速度更快。
  • 您能否向我们展示用于创建外键关系的 T-SQL 语句?

标签: sql-server-2005 foreign-keys


【解决方案1】:

您将其标记为主键,因此它也不能是外键。一个外键可以在表中出现多次,而一个主键不能。

【讨论】:

  • ALTER TABLE [dbo].Empmast WITH CHECK ADD CONSTRAINT [Fk_DBName_DBColumn] FOREIGN KEY(DEPTNAME) REFERENCES [dbo].DEPTMAST (DEPTNAME)
  • 您说您创建了两个表,每个表的主键为DeptName。主键也不能是外键。
猜你喜欢
  • 1970-01-01
  • 2011-02-01
  • 2011-04-13
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多