Come impostare più campi come chiave primaria in MySQL?


23

Ho una tabella con i campi

ID Dipendente

blahblah

blahblah2

.....

RecordMonth

RecodrdYear

  • quindi ogni dipendente dovrebbe avere solo una voce corrispondente per un mese, anno, Emp #. Come faccio ad allestire un tavolo.

Quindi, come posso impostare la tabella in modo che EmployeeID possa essere aggiornato una volta al mese ma non possa mai avere due voci per un mese e un anno corrispondenti?

Risposte:


43

Utilizzare una chiave primaria composta :

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

E se la tua tabella esiste già, rilascia la vecchia chiave primaria:

ALTER TABLE yourtable
DROP PRIMARY KEY;

E ricrearlo:

ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recodrdyear);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.