如何在MySQL中的单个列中插入多个值

时间:2012-07-13 16:28:51

标签: mysql phpmyadmin

我在phpmyadmin中创建了两个简单的表。 “内容创建者”列表和“内容创建者类型”列表。每个“内容创建者”可以具有与其相关联的多个“内容创建者类型”,因此这是一对多的关系。在phpmyadmin中,我创建了以下关系。

ALTER TABLE  `contentcreator` 
ADD FOREIGN KEY (  `ContCreat_TypeID` ) 
  REFERENCES `MyDatabase`.`contentcreator_types` (`ContCreat_TypeID`) 
  ON DELETE RESTRICT ON UPDATE RESTRICT ;

现在,当我尝试将数据(使用phpmyadmin中的插入数据接口)插入到“内容创建者”表中时 - 我得到一个下拉列表,允许我选择“内容创建者类型ID”之一。但是,我希望能够为每个内容创建者添加多个“内容创建者类型ID”。如何使用插入数据接口在phpmyadmin中执行此操作?

2 个答案:

答案 0 :(得分:1)

听起来你在这里有多对多的关系,而不是一对一的关系。您需要为类型表和内容创建者表添加带有外键的交集表。

如果你想以一对多的关系来做这个,那么很多的一方获得外键,而不是一方。这意味着您将拥有内容创建者类型表上的内容Creators表的外键。然后,每个内容创建者将在类型表中为其拥有的每种类型获得一个新条目,但是在该方案中您将有重复。

许多人:

ContentCreatorID CreatorName
---------------- ------------------
1                Creator1
2                Creator2
3                Creator3

CreatorTypes (intersection Table)


ContentCreatorID TypeID
---------------- ------------------
1                1
1                2
2                3
3                2


Types

TypeID            TypeName
---------------- ------------------
1                 Type1
2                 Type2
3                 Type3

答案 1 :(得分:0)

您可能需要考虑创建一个映射表,以将创建者与其类型

相关联
    creator table
    id | creator

    type table
    id | type

    mapping table
    creator_id | type_id