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

Eug*_*ene 7 mysql mysql-workbench

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

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

坦克每一个都在寻求帮助.

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

如果我错了,请帮助.坦克又来了.

小智 8

好的,我找到了.

假设您有一个被调用的表User和第二个被调用的表,Address并且您希望在它们之间建立关系.示例可能如下所示:

用户
ID
名称

地址
id
user_id
street

所以,你必须在一个外键AddressUser.如果你建立这种关系,所有字段都是必填字段,所以user_id主键字段不是空的,而且Address- id甚至是相同的,但是Address- 是- user_id?它真的是主键的一部分Address吗?不,它无法帮助您识别此表中的行.所以Address- user_id可能是null,也许你只有一个Address或表Address甚至被一个表公司引用.

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

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

  • “视觉效果”是说MySQL Workbench真的很烂的一种很好的方式。经过数小时的谷歌搜索,我发现了这个脚印。我是否还应该说Wbnch显示的所有“强制性”一对一或多对多关系(例如……嗯……“视觉效果”)实际上都是一对零或多对多的关系?RDBMS中没有机制来强制父级至少有一个子级。谢谢您的参与,伙计们... (2认同)

Eug*_*ene 2

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