我有两张桌子:
Table1
| itemid (PK)|
| typeid (FK)|
| item count |
Table2
| typeid (PK)|
| type name |
表2中有4-5条记录。 ...而且我在这一点上陷入困境......基本上该项目可以是所有类型的(它可以有typeid(FK)= NULL或全部4-5)。我只是无法理解这一点。当我向Table1添加新项目(使用phpmyAdmin ui)的那一刻,它让我选择一个FK作为下拉列表..但如果项目是两个或三种类型..?这可能是小菜一碟,但我的大脑已停滞不前......最好的办法是什么?
答案 0 :(得分:2)
您的设计支持1对多关系。也许,您需要Table1和Table2之间的多对多关系。如果是,则需要添加新的链接表:
Table3:
itemid(FK)
typeid(FK)
答案 1 :(得分:0)
您可以在itemid
中的typeid
和Table1
上定义复合键。
允许在itemid和typeid值上组合1-1,1-2,3-1,3-4等。
答案 2 :(得分:0)
即使您的问题也不是很清楚,但我理解您无法在子表(table1)中插入记录,因为主表(表2)中不存在记录。
首先,您需要在主表(table2)中添加所需的typeid,然后您可以输入其子表。
如果您的要求不同,那么请详细说明,以便您可以从社区获得更好的帮助。