2014-09-28 3 views
0

초보자이지만 다른 테이블의 속성에 종속 된 속성을 만들 수 있습니까? 그러나, DanesDegrees 모두의 INT AUTO_INCREMENT PRIMARY KEY을 가지고MySQL은 다른 테이블의 속성을 설정하여 테이블을 만들까요?

CREATE TABLE DaneDegrees (
    DanesId INT REFERENCES danes(id), 
    Level VARCHAR(10), 
    Subject VARCHAR(20), 
    FOREIGN KEY fk_level_subject(level, subject) REFERENCES Degree(level, Subject) 
); 

나는 것 :

CREATE TABLE danes (
    id INT PRIMARY KEY, 
    name VARCHAR(50), 
    nationality VARCHAR(20), 
    gender CHAR(1), 
    degree SET ?????????????????? from degree(level) 
); 

CREATE TABLE degree (
    level VARCHAR(10), 
    subject VARCHAR(20), 
    institutionawarding VARCHAR(20), 
    yearawarded DATE, 
    PRIMARY KEY (level, subject) 
); 

내가 다른 테이블, 접합 테이블을 원하는 추측하고 그것을

+0

당신이 [외래 키]에 대해 얘기 (http://dev.mysql.com/doc/refman/5.6/en/create-table (에서 * 다른 테이블 _를 선택) -foreign-keys.html)? – Mureinik

+0

나는 당신이 달성하고자하는 것이 확실하지 않습니다. 어떤 학위가 그들 사이에 연결이 없을 때 개인 "덴마크"에 나타나야합니까? 아니면 그들을 연결하는 방법을 묻고 있습니까? –

+0

+1 @ GordonLinoff의 답변이지만 이것이 작동하지 않는 이유는 SET의 정의를 변경하기 위해'degree.level'에 새로운 값이 필요하기 때문입니다. 64 개 이상의 '레벨'값이있을 때 어떻게됩니까? (MySQL의 SET 데이터 타입은 64 요소로 제한됩니다.) –

답변

2

을 가지고 신경 쓰지 않았다.

+0

그냥 속성이 아님 – Bjartastavonin

0

분명히 당신은

< ATTRIBUTE_NAME 설정하면 분명히 그렇게 업데이트 할 수 있습니다 그겁니다

가 설정 한 것은 그런 식으로

작동하지 않습니다 (다른 타베에서 설정된다)>라고 캔트 실제로 할 수있다

업데이트 테이블 이름

,210

속성 =

관련 문제