【问题标题】:Why (By Default) Foreign Key is Null ? . . and Can Foreign Key and Primary Key be the same Column?为什么(默认情况下)外键为 Null ? . .外键和主键可以是同一列吗?
【发布时间】:2015-06-05 20:48:07
【问题描述】:

我遵循了以下步骤:

  1. 创建了两个表(无约束)
  2. Alter Table#1(添加 Not Null 和主键约束)
  3. 更改表#2(添加外键约束)。 .现在尝试将主键约束添加到作为外键的列 表#2

得到类似列不能为 NULL 的错误。

【问题讨论】:

  • 主键永远不能为NULL...因为主键是唯一的...
  • 您不能将主键添加到可为空的列。

标签: sql sql-server foreign-keys primary-key notnull


【解决方案1】:

外键引用主键的好习惯。您收到此错误是因为无法在可为空的列上设置主键。你能把主键改成标识列吗?

【讨论】:

  • 感谢您的回复,但是是什么让外键默认为空?与我的问题一样,我也需要为我的外键设置非空约束。
  • 外键引用的列之一被定义为 NOT NULL。您需要将列定义更改为 NOT NULL。
猜你喜欢
  • 2013-07-12
  • 1970-01-01
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多