J'ai une table avec des champs
EmployeeID
blahblah
blahblah2
.....
RecordMonth
RecordYear
Alors, comment puis-je configurer la table afin que EmployeeID puisse être mis à jour une fois par mois mais ne puisse jamais avoir deux entrées pour un mois et une année correspondants?
Utilisez une clé primaire composée:
CREATE TABLE yourtable
(
employeeid INT,
blahblah VARCHAR(255),
blahblah2 VARCHAR(255),
recordmonth DATE,
recordyear DATE,
PRIMARY KEY (employeeid, recordmonth, recordyear)
)
Et si votre table existe déjà, supprimez l'ancienne clé primaire:
ALTER TABLE yourtable
DROP PRIMARY KEY;
Et recréez-le:
ALTER TABLE yourtable
ADD PRIMARY KEY (employeeid, recordmonth, recordyear);