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 !!!!!
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
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?
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 ?
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?