2012-03-17 4 views
1

를 참조... 다음과 같은 테이블 구조를 가지고, MySQL 그럼 여러 테이블

Table stuffA 
ID 

Table stuffB 
ID 

Table superStuff 
ID 
type 
stuffID 

를 단일 ID 열 나쁜되어 사용 ... 여기서 superStuff (유형)의 값에 따라, superStuff (stuffID)는 stuffA (ID) 또는 stuffB (ID)를 참조 할 수 있습니까? 당신은 하나 개의 테이블을 조회 할 때 암시이므로 게다가

Table stuffA 
ID 
superStuffID 

Table stuffB 
ID 
superStuffID 

Table superStuff 
ID 

type 속성을 필요가 없습니다

덕분에, 사전에, 당신의 도움이

+0

두 테이블 StuffA, StuffB가 둘 다 같은 종류 인 경우 왜 그렇습니까? – Teja

답변

3

을 위해 당신이 다른 방법으로 주위를 의미 생각 또는 다른.

참고 : 테이블에 다른 필드가 있으며 최소한의 예를 만들기 위해 생략 한 것으로 가정합니다. 이것이 사실이 아니라면 아마 거기에 계층이 필요하지 않을 것입니다.

이 내용을 이해하는 데 도움이 될 answer입니다.

2

Superstuff에 서서 누가 행의 아버지인지 알고 싶다면 해결책이 정확합니다.

하나의 옵션이 있지만 솔루션에서 제안 사항을 충족하지 못했습니다.

고려 사항 :

ID는 고유 한 Superstuff는 ID가 Superstuff의 ID입니다 테이블 stuffB 및 stuffA에 데이터베이스에 걸쳐 표시됩니다. 이드는 물건에 B와 stuffA는 슈퍼 스터프의 외래 키입니다.

Table Superstuff 
ID 

Table stuffA 
ID (exist on superStuff) 

Table stuffB 
ID (exist on superStuff) 
관련 문제