¿Cómo configurar múltiples campos como clave principal en MySQL?


23

Tengo una mesa con campos

ID de empleado

blahblah

blahblah2

.....

RecordMonth

RecodrdYear

  • por lo que cada empleado solo debe tener una entrada coincidente para un mes, año, Emp #. ¿Cómo configuro una mesa?

Entonces, ¿cómo configuro la tabla para que EmployeeID pueda actualizarse una vez al mes pero nunca pueda tener dos entradas para un mes y año coincidentes?

Respuestas:


43

Use una clave primaria compuesta :

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

Y si su tabla ya existe, suelte la clave principal anterior:

ALTER TABLE yourtable
DROP PRIMARY KEY;

Y recrearlo:

ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recodrdyear);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.