在MySQL Workbench中强制要求,引用字段不能为NULL吗?

时间:2011-07-29 18:07:05

标签: mysql mysql-workbench

我正在设计数据库,我很好奇mysql workbench中的强制复选框是什么意思,该字段应该为null或者在这种情况下强制要求是什么?

稍后如有必要,我会在此表中包含此问题的图像。

每个人都在寻求帮助。

UPD:
我必须说,在我生成模型SQL并查看两个表后,我没有看到任何不同的东西。我开始认为,这个强制性选项只能在视觉上显示,但在功能方面它并不意味着什么。

如果我错了,请帮忙。坦克再次。

3 个答案:

答案 0 :(得分:8)

好的,我找到了。

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

  

用户
id
名称

     

地址
id
user_id
街道

因此AddressUser提供了一个外键。如果您建立此关系,则所有字段都是必填字段,因此user_id是主键字段,它不是空的,而Address - id甚至是相同的,但是{{1} }} - Address?它真的是user_id中主键的一部分吗?不,它无法帮助您识别此表中的行。因此,Address - Address可能为空,也许您只有一个user_id,或者表Address甚至被表公司引用。

问题是,“引用表”旁边的强制性复选框仅用于视觉效果,而“参考表”旁边的复选框则使该字段可以为空。

如果必须,则字段Address-user_id永远不能为空。如果不是必需的,则对于一行数据,该字段可以为null,并且不会影响约束。

答案 1 :(得分:3)

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

答案 2 :(得分:0)

最有可能的是,这意味着字段值不能为NULL。我之所以说是最有可能的,因为我在MySQL Workbench的任何地方找不到“强制”一词。