jmeMedlem sedan maj 20012 237 inlägg 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.
@ndersMedlem sedan juni 200032 969 inlägg pimmeMedlem sedan sep. 20011 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)
);
jmeMedlem sedan maj 20012 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 ;)
jmeMedlem sedan maj 20012 237 inlägg Tack även du Pimme! Hade jag inte hittat svaret i boken så hade jag fått det av dig.
LarsGMedlem sedan dec. 200012 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.