2013-03-08 3 views
2

나는 mysql server.where에서 작업하고 있는데, 질문이라는 테이블을 만들었습니다. 이 테이블의 열/속성은 (코스, 과목, 연도, 질문) 입니다. 기본 키 (또는 복합 키)를 만들고 싶습니다 (코스 + 과목 + 연도). 즉 특정 코스 + 과목 + 년 조합의 경우 단 하나의 질문 만있을 수 있습니다. (코스 + 과목 + 년도)의 조합으로 단 하나의 행만있을 것입니다. 다른 행을 만들 수 없습니다. 내가하여 수행 한 :MySQL 데이터베이스에서 복합 키를 만드는 방법

primary key(course,subject,year); 

하지만 난 물론 같은 조합, 제목, 올해 두 행을 만들 수 있습니다 working.still 아닙니다.

누구나 합성 키 propery를 어떻게 만들 수 있습니까?

+0

MySQL 서버 나 SQL 서버를 따를 필요가 기존 테이블에이 제약 조건을 추가하려면? - http://stackoverflow.com/questions/5835978/how-to-properly-create-composite-primary-keys-mysql – jcho360

+0

mysql sever .... –

+0

당신이 일하지 않는다고 말할 때, 당신이 의미하는 것을 정의하십시오. 오류가 발생합니까? – christopher

답변

5

구문에, 비슷한 무언가를해야보고있는 MySQL의 경우 예 :

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

위의 예는 작동을위한 CONSTRAINT constraint_name PRIMARY KEY(col1,col2,col3)입니다 예를 들어 테이블을 작성하는 동안 writting하는 경우 ::

는 다음 구문

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (P_Id,LastName) 
4

당신이

ALTER TABLE table_name ADD PRIMARY KEY (a, b, c); 
+0

위와 같이 작성한 것과 같은 방법으로 기본 키를 설정했습니다. table.but하지만 같은 조합으로 같은 행을 두 개 이상 계속 허용합니다 –

+0

같은 순서로 같은 콤보가 있습니까? 즉 a = 1, b = 2, c = 3이 1 행 이상입니까? – bizzehdee

+0

동일한 순서로 같은 콤보를 사용하십시오 –

관련 문제