CREATE TABLE grupper (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
index int NOT NULL,
namn char(250),
PRIMARY KEY(ID, index));
CREATE TABLE produkt (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
gruppindex int NOT NULL,
uppgift char(255),
PRIMARY KEY(ID),
FOREIGN KEY(gruppindex) REFERENCES grupper (index));
Jag får detta fel :(
There are no primary or candidate keys in the referenced table 'grupper' that match the referencing column list in the foreign key produkt.gruppindex
Du kan inte referera en del av de kolumner som finns i primärnyckel/unique när du skapar en foreign key. Alla måste ingå. Man skapar en foreign till en nyckel och inte till enskilda kolumner.
CREATE TABLE grupper (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
index int NOT NULL,
namn char(250),
PRIMARY KEY(index));
CREATE TABLE produkt (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
gruppindex int NOT NULL,
uppgift char(255),
PRIMARY KEY(ID),
FOREIGN KEY(gruppindex) REFERENCES grupper (index));
så om jag sätter "grupper.index" som primärnyckel endast och inte bägge två, och grupper.ID får ticka på för sig själv utan att var nyckel, eller då kanske grupper.ID inte alls behövs eller nåt?. Kan man ta bort den då?.