Avatar billede cool_code Nybegynder
30. august 2002 - 00:13 Der er 3 kommentarer og
1 løsning

Problem med ´2 tables

hvorfor kan dette ikke køres i "SQL Server Query Analyzer":

CREATE TABLE lokation (
    lokationid int NOT NULL,
    navn varchar(10) NOT NULL,
   
    PRIMARY KEY (lokationid, navn)
   
);



CREATE TABLE afdeling (

    afdelingid int NOT NULL,
    navn varchar(40) NOT NULL,
    lokationid int NOT NULL,   

    FOREIGN KEY (lokationid) REFERENCES lokation(lokationid),
    PRIMARY KEY (afdelingid)

);

Fejlmeddelelsen lyder:
Server: Msg 1776, Level 16, State 1, Line 11
There are no primary or candidate keys in the referenced table 'lokation' that match the referencing column list in the foreign key 'FK__afdeling__lokati__35BCFE0A'.
Server: Msg 1750, Level 16, State 1, Line 11
Could not create constraint. See previous errors.

HJÆLP HJÆLP !!!!!
Avatar billede ij Nybegynder
30. august 2002 - 00:19 #1
Det er fordi du har angivet at
PRIMARY KEY (lokationid, navn)

hvis du fjerner navn som en del af nøglen (den er der vel ikke brug for?)
Så er den i vinkel.

Ellers skal du lave det om i den anden tabel der refererer til lokation tabellen
Avatar billede cool_code Nybegynder
30. august 2002 - 00:22 #2
Takker for det første..Det virker, men hvad mener du med nummer 2? Jeg ønsker jo netop at have navn med...(Disse tabeller er et uddrag fra nogle større tabeller). Hvordan gøres det så i afdelings-tabellen?
Avatar billede ij Nybegynder
30. august 2002 - 00:25 #3
Det er ikke noget problem at have feltet 'navn' med i databsen, men der er vel ikke nogen grund til at have det som en del af nøglen. Lokationid er vel unikt for hver enkelt lokation? Eller ?
Avatar billede cool_code Nybegynder
30. august 2002 - 00:35 #4
Jo, det har du ret i, men hvorfor crasher scriptet med når navn er med.... Det burde den vel ikke?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester