INSERT语句与COLUMN FOREIGN KEY冲突

时间:2012-04-29 14:39:01

标签: sql sql-server sql-server-2008

我的桌子上有一个看起来像这样的FK:

FK

显然,我应该能够将NULL插入此列以及父表中存在的任何值。

但是当我尝试插入NULL时,我收到以下错误:

  

INSERT语句与FOREIGN KEY约束冲突   “users_fk”。冲突发生在数据库“mydatabase”,表中   “dbo.country”,列'country_id'。

1 个答案:

答案 0 :(得分:9)

您绝对正确 - 您应该能够将NULL插入此列。

你是 500%肯定你是谁?错误消息说明了其他内容 - 看起来好像是在插入无效值。

可能是你有

(a)脚本中另一行插入其他(无效)值?

(b)你碰巧在这张桌子上有一个无效的触发器吗?

更新(根据您的评论)
如果您指定INSERT语句中的列,那么可能在该列上定义了无效的默认值?像默认的0之类的东西。

如果您有默认值 - 将插入默认值(而不是NULL,正如您所期待的那样)