Làm cách nào để thiết lập nhiều trường làm khóa chính trong MySQL?


22

Tôi có một bảng với các lĩnh vực

Mã hiệu công nhân

blahblah

blahblah2

.....

RecordMonth

RecodrdYear

  • vì vậy mỗi nhân viên chỉ nên có một mục phù hợp trong một tháng, năm, Emp #. Làm thế nào để tôi thiết lập một bảng.

Vậy làm cách nào để thiết lập bảng để EmployeeID có thể được cập nhật mỗi tháng một lần nhưng không bao giờ có thể có hai mục nhập cho một tháng và năm phù hợp?

Câu trả lời:


42

Sử dụng khóa chính ghép :

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

Và nếu bảng của bạn đã tồn tại, hãy bỏ khóa chính cũ:

ALTER TABLE yourtable
DROP PRIMARY KEY;

Và tạo lại nó:

ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recodrdyear);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.