我正在设计数据库,我很好奇mysql workbench中的强制复选框是什么意思,该字段应该为null或者在这种情况下强制要求是什么?
稍后如有必要,我会在此表中包含此问题的图像。
每个人都在寻求帮助。
UPD:
我必须说,在我生成模型SQL并查看两个表后,我没有看到任何不同的东西。我开始认为,这个强制性选项只能在视觉上显示,但在功能方面它并不意味着什么。
如果我错了,请帮忙。坦克再次。
答案 0 :(得分:8)
好的,我找到了。
假设您有一个名为User
的表,另一个名为Address
,您希望在它们之间建立关系。示例可能如下所示:
用户
id
名称
地址
id
user_id
街道
因此Address
为User
提供了一个外键。如果您建立此关系,则所有字段都是必填字段,因此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的任何地方找不到“强制”一词。