MySQL에서 여러 필드를 기본 키로 설정하는 방법은 무엇입니까? 설정합니까? 그렇다면 EmployeeID를 한

필드가있는 테이블이 있습니다

직원 ID

이러쿵 저러쿵

blahblah2

…..

RecordMonth

기록 연도

  • 따라서 각 직원은 한 달, 년, Emp #에 대해서만 일치하는 항목을 가져야합니다. 테이블을 어떻게 설정합니까?

그렇다면 EmployeeID를 한 달에 한 번 업데이트 할 수 있지만 일치하는 월과 연도에 대해 두 개의 항목을 가질 수 없도록 테이블을 어떻게 설정합니까?



답변

복합 기본 키를 사용하십시오 .

CREATE TABLE yourtable
  (
     employeeid  INT,
     blahblah    VARCHAR(255),
     blahblah2   VARCHAR(255),
     recordmonth DATE,
     recodrdyear DATE,
     PRIMARY KEY (employeeid, recordmonth, recodrdyear)
  ) 

그리고 테이블이 이미 존재하면 이전 기본 키를 삭제하십시오.

ALTER TABLE yourtable
DROP PRIMARY KEY;

그리고 그것을 다시 만드십시오 :

ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recodrdyear);