Mysql 多个记录的外键
我有两张这样的桌子:Mysql 多个记录的外键,mysql,phpmyadmin,foreign-keys,Mysql,Phpmyadmin,Foreign Keys,我有两张这样的桌子: Table1 | itemid (PK)| | typeid (FK)| | item count | Table2 | typeid (PK)| | type name | 表2中有4-5条记录。。。我被困在这一点上。。。基本上,该项可以是所有类型(它可以有typeid(FK)=NULL或全部4-5)。我就是想不通。当我将新项目添加到表1(使用phpmyAdmin ui)时,我可以选择一个FK作为下拉列表。。但是如果物
Table1
| itemid (PK)|
| typeid (FK)|
| item count |
Table2
| typeid (PK)|
| type name |
表2中有4-5条记录。。。我被困在这一点上。。。基本上,该项可以是所有类型(它可以有typeid(FK)=NULL或全部4-5)。我就是想不通。当我将新项目添加到表1(使用phpmyAdmin ui)时,我可以选择一个FK作为下拉列表。。但是如果物品有两种或三种类型怎么办。。?这可能是小菜一碟,但我的大脑已经停滞了。。。最好的方法是什么?您的设计支持一对多关系。也许,您需要表1和表2之间的多对多关系。如果是,则需要添加新的链接表:
Table3:
itemid(FK)
typeid(FK)
您可以在
Table1
中的itemid
和typeid
上定义复合键
这允许对itemid和typeid值进行1-1、1-2、3-1、3-4等组合。即使您的问题也不太清楚,但据我所知,您无法在子表(表1)中插入记录,因为主表(表2)中不存在记录 所以首先需要在主表(表2)中添加所需的typeid,然后才能在其子表中输入
如果您的要求有所不同,请详细说明,以便您可以从社区获得更好的帮助。谢谢Wasim!我不确定这是否是最好的选择,但你已经向我保证了。在关系数据库设计中,这是创建另一个链接表以支持多对多关系的常见准则。