我的桌子上有一个看起来像这样的FK:
显然,我应该能够将NULL
插入此列以及父表中存在的任何值。
但是当我尝试插入NULL
时,我收到以下错误:
INSERT语句与FOREIGN KEY约束冲突 “users_fk”。冲突发生在数据库“mydatabase”,表中 “dbo.country”,列'country_id'。
答案 0 :(得分:9)
您绝对正确 - 您应该能够将NULL
插入此列。
你是 500%肯定你是谁?错误消息说明了其他内容 - 看起来好像是在插入无效值。
可能是你有
(a)脚本中另一行插入其他(无效)值?
或
(b)你碰巧在这张桌子上有一个无效的触发器吗?
更新(根据您的评论)
如果您不指定INSERT
语句中的列,那么可能在该列上定义了无效的默认值?像默认的0
之类的东西。
如果您有默认值 - 将插入默认值(而不是NULL
,正如您所期待的那样)