2012-07-13 4 views
2

phpmyadmin에서 두 개의 간단한 테이블을 만들었습니다. '콘텐츠 제작자'목록 및 '콘텐츠 작성자 유형'목록 각 "컨텐트 작성자"는 여러 개의 "컨텐트 작성자 유형"을 가질 수 있으므로 일대일 관계입니다. phpmyadmin에서 다음과 같은 관계를 만들었습니다.MySQL의 단일 열에 여러 값을 삽입하는 방법

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

는 이제 테이블 "컨텐츠 제작자"로 (phpMyAdmin에의 삽입 데이터 인터페이스를 사용하여) 데이터를 삽입 할 때 - 나는 아래로 나를 "콘텐츠 작성자 유형 ID를"중 하나를 선택할 수 있도록 한 방울을 얻을. 그러나 각 콘텐츠 작성자에게 여러 개의 "콘텐츠 작성자 유형 ID"를 추가 할 수 있기를 원합니다. 삽입 데이터 인터페이스를 사용하여 phpMyAdmin에서 어떻게 수행합니까?

+3

당신이 많은 관계로 많은 아니라고 확신 자신의 유형과 제작자를 연결하는 매핑 테이블을 생성하는 것이 좋습니다? 제작자는 많은 유형을 가질 수 있으며 유형은 많은 제작자가 될 수 있습니다. –

+0

사실은 실제로는 다 대다 관계입니다. 콘텐츠 작성자 테이블의 PK와 콘텐츠 작성자 유형 테이블의 PK에 대한 FK 참조가있는 세 번째 테이블이 필요합니다. 이것은 종종 Junction 또는 Join 테이블이라고합니다. –

+0

실수를 지적 해 주셔서 감사합니다. 제안 된대로 접합 테이블을 작성합니다. – Ansh

답변

1

여기에 많은 관계가있는 것처럼 들리지만, 많은 것은 아닙니다. 외부 테이블이있는 교차 테이블을 형식 테이블과 콘텐츠 작성자 테이블에 모두 추가해야합니다.

일대 다 관계로이 작업을 수행하려는 경우, 많은면이 하나의면이 아닌 외래 키를 가져옵니다. 콘텐츠 제작자 유형 테이블의 콘텐츠 크리에이터 테이블에 대한 외래 키가 있음을 의미합니다. 그런 다음 각 컨텐츠 작성자는 유형 테이블에있는 각 유형에 대해 새 항목을 가져 오지만 해당 시나리오에서는 복제본을 갖게됩니다.

많은 많은 TO :

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 
+0

팁 주셔서 감사합니다! 나는 두 개를 연결하도록 제안 된대로 교차 테이블을 추가 할 것이다. – Ansh

0

당신은

creator table 
    id | creator 

    type table 
    id | type 

    mapping table 
    creator_id | type_id 
관련 문제