Det kaldes en sammensat nøgle.
Hvis du vil ændre din faktiske PK til en sammensat, skal du bruge
Alter table <your table> drop PRIMARY KEY;
Alter table <your table> drop COLUMN <your autoincremented column>;
Alter table <your table> add [constraint <constraint name>] PRIMARY KEY (<col1>, <col2>);
Du kan også bare tilføje en unik begrænsning (din PK vil være den samme, og unikke par... skal være unikke).
alter table <your table> add [constraint <constraint name>] unique index(<col1>, <col2>);
Personligt vil jeg anbefale den anden løsning (simpel PK + unik begrænsning), men det er kun et personligt synspunkt. Du kan google efter fordele og ulemper argumenter om sammensatte nøgler.
Delen mellem []
er valgfri.
REDIGER
Hvis du vil gøre dette i opret tabelsætningen
For en sammensat pk
CREATE TABLE Test(
id1 int NOT NULL,
id2 int NOT NULL,
id3 int NOT NULL,
PRIMARY KEY (id1, id2)
);
For et unikt indeks
CREATE TABLE Test1(
id1 int NOT NULL AUTO_INCREMENT,
id2 int NOT NULL,
id3 int NOT NULL,
PRIMARY KEY (id1),
UNIQUE KEY (id2, id3)
);