Jo det ser väl korrekt ut, rent syntaktiskt. Jag förstår dock inte riktigt vad du vill uppnå? Vill du att p_id och anst_nr varför sig skall vara unika? I så fall får du sätta den ena som primary key och den andra som unique då det bara går att ha en primärnyckel per tabell.
Som du har skrivit nu, så innebär det att p_id och anst_nr tillsammans skall vara unika vilket är lite suspsekt, ur modelleringssynpunkt, då p_id i sig är unik.
------------------ essentitia preter non sans multiplicandum
Nej, jag vill att kombinationen av p_id och anst_nr skall vara unik. Hur åstakommer jag det? Fungerar det om jag sätter p_id som PRIMARY KEY och anst_nr som KEY?
Nu ser jag att jag har skrivit fel... p_id skall INTE vara en räknare, självklart skulle den vara unik i så fall, utan det är ett person_id. Jag tänkte mer generellt, för jag har stött på tabeller där jag vill att en kombination av fält skall vara unik.
Det var därför jag blev konfunderad.
Du kan ange flera kolumnnamn i en primary key definition.
CREATE TABLE PERSONER (
person_id INT UNSIGNED NOT NULL,
anst_nr SMALLINT NOT NULL,
p_fnamn VARCHAR(30),
p_enamn VARCHAR(40),
PRIMARY KEY(person_id, anst_nr));
borde vara ok.
------------------ essentitia preter non sans multiplicandum