没有外键不能添加字段

时间:2017-01-19 22:57:14

标签: sql sql-server

我有两个数据库,一个是本地的,另一个是生产中的。

其中一个我的列IdNivelDominio没有FK,但是如果我打开 Constraints 文件夹,我会有类似的内容:

DF_EvaluacionDetalleCompetenciasFuncionales_IdNivelDominio

所以我想将这个字段回复到我的另一个数据库中:

ALTER TABLE Reclutamiento.EvaluacionDetalleCompetenciasFuncionales
ADD IdNivelDominio INT NOT NULL;

但我得到错误:

  

ALTER TABLE仅允许添加可包含空值的列,或   指定了DEFAULT定义,或者添加的列是   身份或时间戳列,或者如果没有以前的列   条件满足表必须为空以允许添加   这一栏。列'IdNivelDominio'无法添加到非空   表'EvaluacionDetalleCompetenciasFuncionales'因为它没有   满足这些条件。

问题是该字段没有与外键(原始表)链接,因此我无法添加约束。

任何人都可以解释一下它是如何发生的吗?或者有没有办法在没有外键的情况下做限制?此致

1 个答案:

答案 0 :(得分:0)

ALTER TABLE Reclutamiento.EvaluacionDetalleCompetenciasFuncionales
ADD IdNivelDominio INT NOT NULL DEFAULT 0;

您正在尝试向表格中添加一个应该为NOT NULL的新列。您需要指定新列中的值,因为它是NOT NULL