多个记录的外键

时间:2014-02-20 10:00:20

标签: mysql phpmyadmin foreign-keys

我有两张桌子:

Table1
| itemid (PK)|    
| typeid (FK)|     
| item count |     

Table2        
| typeid (PK)|  
| type name  |

表2中有4-5条记录。 ...而且我在这一点上陷入困​​境......基本上该项目可以是所有类型的(它可以有typeid(FK)= NULL或全部4-5)。我只是无法理解这一点。当我向Table1添加新项目(使用phpmyAdmin ui)的那一刻,它让我选择一个FK作为下拉列表..但如果项目是两个或三种类型..?这可能是小菜一碟,但我的大脑已停滞不前......最好的办法是什么?

3 个答案:

答案 0 :(得分:2)

您的设计支持1对多关系。也许,您需要Table1和Table2之间的多对多关系。如果是,则需要添加新的链接表:

Table3:
itemid(FK) 
typeid(FK)

答案 1 :(得分:0)

您可以在itemid中的typeidTable1上定义复合键。

允许在itemid和typeid值上组合1-1,1-2,3-1,3-4等。

答案 2 :(得分:0)

即使您的问题也不是很清楚,但我理解您无法在子表(table1)中插入记录,因为主表(表2)中不存在记录。

首先,您需要在主表(table2)中添加所需的typeid,然后您可以输入其子表。

如果您的要求不同,那么请详细说明,以便您可以从社区获得更好的帮助。