J jme Medlem sedan maj 2001 2 237 inlägg Trådstart 7 juni 2005 11:40 #1 Hej!
Hur skapar man en composite key (inte primary key)?
CREATE TABLE test
(
id INT AUTO_INCREMENT NOT NULL,
key1 VARCHAR(10) NOT NULL, *
key2 VARCHAR(200) NOT NULL, *
PRIMARY KEY(id)
);
Raderna märkta med * ska bilda ett unikt par vars värde endast kan användas en (1) gång.
Separat kan båda värdena återanvändas.
@nders Medlem sedan juni 2000 32 967 inlägg P pimme Medlem sedan sep. 2001 1 086 inlägg Re: Hur gör man en composite key?
Såhär menar du?
CREATE TABLE test
(
id INT AUTO_INCREMENT NOT NULL,
key1 VARCHAR(10) NOT NULL,
key2 VARCHAR(200) NOT NULL,
PRIMARY KEY(id),
UNIQUE(key1, key2)
);
J jme Medlem sedan maj 2001 2 237 inlägg Tack @nders för ett snabbt svar. Kanske formulerade frågan fel (eller använde benämning) för jag var inte ute efter composite (primary) key utan unikt par-värde.
Hittade en bok här på jobbet som förklarade saken:
CREATE UNIQUE INDEX ON test (key1, key2);
Detta var jag ute efter.
BTW: Jag hittade faktiskt EXAKT samma sida som du
J jme Medlem sedan maj 2001 2 237 inlägg Tack även du Pimme! Hade jag inte hittat svaret i boken så hade jag fått det av dig.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Varför har du alls med id i tabellen? Det räcker ju att ha key1 och key2 och definiera dessa som en sammansatt primärnyckel.