Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 更新、外键约束和空值_Mysql_Database_Oracle_Null_Foreign Keys - Fatal编程技术网

Mysql 更新、外键约束和空值

Mysql 更新、外键约束和空值,mysql,database,oracle,null,foreign-keys,Mysql,Database,Oracle,Null,Foreign Keys,我正在用C#生成一个数据模板。在这个很棒的网站上的好人的帮助下,我几乎解决了每一个问题。这应该是最后一个问题。因为它是我正在处理的模板,所以我需要表中的每个字段,包括null。我在如何通过添加(对象)this.field来更新空值方面得到了帮助??但是我有一个字段,它是一个外键,即使当我在数据库中查找时,它显示为null,当我提取记录时,值变为0。当我尝试更新此字段时,它表示我违反了外键约束。我如何解决这个问题?我原以为null解决方案可以工作,但它没有显示为null,而是显示为0 谢谢一般来说

我正在用C#生成一个数据模板。在这个很棒的网站上的好人的帮助下,我几乎解决了每一个问题。这应该是最后一个问题。因为它是我正在处理的模板,所以我需要表中的每个字段,包括null。我在如何通过添加(对象)this.field来更新空值方面得到了帮助??但是我有一个字段,它是一个外键,即使当我在数据库中查找时,它显示为null,当我提取记录时,值变为0。当我尝试更新此字段时,它表示我违反了外键约束。我如何解决这个问题?我原以为null解决方案可以工作,但它没有显示为null,而是显示为0


谢谢

一般来说,允许FKs为空不是一个好主意。一些数据库(我知道oracle是这样做的)通过将FK绑定到主键而不是其他表中的列来实现这一点。能否重构表,使该列不需要空值?

0是否可能是该列的有效值?如果没有,只要在遇到一个时将其键入null即可。如果有效,您仍然可以这样做,方法是将其包装在一个先检查外行是否存在的条件中。

不幸的是,否,因为它们不是由我们创建的表,所以我们需要使用现有的表。“我们需要使用现有的表”。。。是的,这就是我们生活中的悲惨故事。:-)