Het wordt een samengestelde sleutel genoemd.
Als u uw werkelijke PK wilt veranderen in een samengestelde, gebruik dan
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>);
Je kunt ook gewoon een unieke beperking toevoegen (je PK zal hetzelfde zijn, en unieke paren... zullen uniek moeten zijn).
alter table <your table> add [constraint <constraint name>] unique index(<col1>, <col2>);
Persoonlijk zou ik de tweede oplossing aanbevelen (eenvoudige PK + unieke beperking), maar dat is slechts een persoonlijk standpunt. U kunt googlen op voor- en nadelen van samengestelde sleutels.
Het gedeelte tussen []
zijn optioneel.
BEWERKEN
Als je dit wilt doen in de instructie Create Table
Voor een samengestelde pk
CREATE TABLE Test(
id1 int NOT NULL,
id2 int NOT NULL,
id3 int NOT NULL,
PRIMARY KEY (id1, id2)
);
Voor een unieke index
CREATE TABLE Test1(
id1 int NOT NULL AUTO_INCREMENT,
id2 int NOT NULL,
id3 int NOT NULL,
PRIMARY KEY (id1),
UNIQUE KEY (id2, id3)
);