Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 Workbench中的必填项是否意味着引用字段不能为空?_Mysql_Mysql Workbench - Fatal编程技术网

MySQL Workbench中的必填项是否意味着引用字段不能为空?

MySQL Workbench中的必填项是否意味着引用字段不能为空?,mysql,mysql-workbench,Mysql,Mysql Workbench,我正在设计数据库,我很好奇mysql工作台中的强制复选框是否意味着该字段应该为空,或者在这种情况下强制指的是什么 如有必要,我将在后面添加出现此问题的表格的图像 坦克一直在呼救 UPD: 我必须说,在生成SQL模型并查看这两个表之后,我没有看到任何不同。我开始认为,这个强制选项只在视觉上显示,但在功能上却没有任何意义 如果我错了,请帮助我。再次存储。很可能,这意味着字段值不能为空。我这么说很可能是因为我在MySQL Workbench的任何地方都找不到“强制”这个词。我得出结论,这只是一种视觉效

我正在设计数据库,我很好奇mysql工作台中的强制复选框是否意味着该字段应该为空,或者在这种情况下强制指的是什么

如有必要,我将在后面添加出现此问题的表格的图像

坦克一直在呼救

UPD:
我必须说,在生成SQL模型并查看这两个表之后,我没有看到任何不同。我开始认为,这个强制选项只在视觉上显示,但在功能上却没有任何意义


如果我错了,请帮助我。再次存储。

很可能,这意味着字段值不能为空。我这么说很可能是因为我在MySQL Workbench的任何地方都找不到“强制”这个词。

我得出结论,这只是一种视觉效果,表明这种关系是强制的。此选项无论如何都不会影响中生成的SQL代码。

好的,我找到了

假设您有一个名为
User
的表和另一个名为
Address
的表,您希望在它们之间建立关系。示例可能如下所示:

用户
id
名称

地址
id
用户id
街道

因此,您在
地址中为
用户
设置了一个外键。如果建立此关系,所有字段都是必填字段,因此
user\u id
是主键字段,它不为空,
Address
-
id
甚至是相同的,但是
Address
-
user\u id
是什么?它真的是
地址中主键的一部分吗?不,它不能帮助您标识此表中的行。因此
地址
-
用户id
可能为空,可能您只获得了
地址
,或者表
地址
甚至被表公司引用

问题是,“引用表”一侧的强制复选框仅用于视觉效果,相反,“引用表”一侧的复选框使字段可为空或不可为空


如果必须,则字段Address-user\u id永远不能为空。如果不是强制性的,则对于一行数据,该字段可以为空,并且不受任何约束。

当您创建一个关系并双击它时,您可以在第二个选项卡中找到它。也许现在会更清楚…从模型中创建一个数据库,自己看看?这实际上是个好主意。我会试试的,没错!经过几个小时的困惑,我得出了同样的结论。mysql本身是否支持这个概念?你是不对的,如果你将引用表设置为强制的,那么引用ID将设置为NN(非空)。“视觉效果”这是一个非常好的说法,可以说mysql Workbench在这里真的很差劲。在谷歌搜索了几个小时后,我发现了这个脚印。我是否应该说,Wbnch所展示的所有“强制性”一对一或多关系(例如…嗯…“视觉效果”)实际上都是一对零或多?RDBMS中没有强制父级至少有一个子级的机制。谢谢你们的帖子,伙计们。。。