如何在外键列中插入空值

时间:2010-06-04 12:31:16

标签: nhibernate foreign-keys

我有两张表xyx有一个PK列,y有一个表x的FK约束(带有null)。我需要通过传递null值在表y中插入空值。这在NHibernate有可能吗?

我尝试传递空值,但它给出了FK约束错误。

3 个答案:

答案 0 :(得分:0)

如果人员表中有一个mobilePhone fm到一个电话表,那么如果该人没有移动电话,则该移动电话字段为空是完全有效的。如果您不需要插入带有空主键的电话记录。那将是无效的。

答案 1 :(得分:0)

外键不能作为null放在其他表提交的主键上。是的,可以指定默认值。

答案 2 :(得分:-1)

如果您想要了解如何做您要求的具体答案,您需要提供有关您正在使用的工具的更多信息。什么数据库系统?什么编程语言?

但是我认为你有一个比如何插入null更大的问题。即使它是FK,它仍然是一个关键。对于引用完整性,应该有一个在另一个表中匹配的PK。这意味着在某个地方也必须有一个带有null的PK,这是你在一个好的数据库设计中永远不应该做的事情。如果可能的话,可以为不需要使用null键的数据库表寻找更好的设计。