30. marts 2005 - 21:43Der er
4 kommentarer og 3 løsninger
Flere fremmednøgler
Hej alle
Da vi skulle lave en fremmed nøgle i en tabel, ville den ikke oprette den. Den skrev noget i retning af, at der ikke var en unik constraint for fremmenøglen. Problemet kunne løses ved at lave det felt, som den refereret til om til et unikt. Dette giver os dog nogle andre problemer, så det skal den helst ikke.
Det virker lidt mærkeligt i vores øjne, for vi lavede først en reference fra en tabel med bedømmere til en postnummer tabel, hvilket virkede fint. Da vi derefter skulle vi oprette en fremmednøgle i en anden tabel røg vi ind i problemet.
Vi har set en sammenhæng imellem, at der hvor det vil lykkes, skal der refereres til et feldt som alene er primær nøgle, mens der hvor de skal erklæres unikke (der hvor den kan men hvor vi bare støder ind i andre problemer) der referer den til en kombineret primærnøgle.
Hvis man har en primær nøgle som består af to primærnøgle (atributter), kan man så ikke gøre selve kombinationen af denne fremmednøgle unik. Til modsætning fra at man gør hver enkelt primærnøgle unik.?
Glem det ovenforstående. Jeg havde lige misforstået noget :-)
Men læs dette i stedet:
Man har en primærnøgle der består af to primærnøgler (to atributter) Denne kobination (den samlede primærnøgle) skal bruges som fremmednøgle i en anden tabel. Men i den tabel hvor den er fremmednøgle bliver den jo opfattede som to forksellige nøgler. Hvordan fortæller man databasen at disse to fremmed nøgler faktisk er en nøgle samlede nøgle (kombnation af de to fremmednøgle).
CREATE TABLE t1 ( a integer PRIMARY KEY, b integer, c integer, FOREIGN KEY (b, c) REFERENCES other_table (c1, c2) );
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.