Klucz podstawowy ma być unikalny
http://dev.mysql.com/doc /refman/5.5/en/optimizing-primary-keys.html
możesz mieć złożony klucz podstawowy :
CREATE TABLE track(
album CHAR(10) NOT NULL,
dsk INTEGER NOT NULL,
posn INTEGER NOT NULL,
song VARCHAR(255),
PRIMARY KEY (album, dsk, posn)
)
Unikalne klucze złożone są bardzo przydatne, gdy chcesz zapobiec duplikowaniu danych w wielu polach bazy danych w tabeli.
http:// /www.alphadevx.com/a/382-Adding-a-composite-unique-key-to-an-existing-MySQL-table