วิธีการตั้งค่าหลายสาขาเป็นคีย์หลักใน MySQL?


23

ฉันมีโต๊ะที่มีทุ่งนา

EmployeeID

blahblah

blahblah2

.....

RecordMonth

RecodrdYear

  • ดังนั้นพนักงานแต่ละคนควรมีรายการที่ตรงกันสำหรับเดือน, ปี, Emp # ฉันจะตั้งค่าตารางได้อย่างไร

ดังนั้นฉันจะตั้งค่าตารางอย่างไรเพื่อให้ EmployeeID สามารถอัปเดตเดือนละครั้ง แต่ไม่สามารถมีสองรายการสำหรับเดือนและปีที่ตรงกันได้

คำตอบ:


43

ใช้คีย์หลักผสม :

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);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.