Як налаштувати кілька полів як основний ключ у MySQL?


23

У мене є таблиця з полями

ID працівника

блахбла

блахбла2

.....

RecordMonth

RecodrdYear

  • тому кожен працівник повинен мати лише відповідні записи протягом місяця, року, Emp #. Як налаштувати таблицю.

Тож як я можу налаштувати таблицю так, щоб службовий ідентифікатор міг бути оновлений раз на місяць, але ніколи не може мати дві записи для відповідного місяця та року?

Відповіді:


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);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.