Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:03 Der er 9 kommentarer og
1 løsning

Errno: 150

Hej

Jeg sidder og skal lave et par tabeller og får fejl 150.. efter et stykke tid på google har jeg fundet frem til, at jeg skal lave noget INDEX på Foreign keys.. men det virker sgu ikke :I

CREATE TABLE Hold (
HoldID INT PRIMARY KEY AUTO_INCREMENT,
Holdnavn VARCHAR(20));


CREATE TABLE Gruppe1 (
ID INT PRIMARY KEY AUTO_INCREMENT,
Holdnavn VARCHAR(20),
Maalscore VARCHAR(20),
Point INT,
AntalKampe INT,
HoldID INT,
INDEX (HoldID, Holdnavn),
FOREIGN KEY (HoldID) REFERENCES Hold (HoldID),
FOREIGN KEY (Holdnavn) REFERENCES Hold (Holdnavn)
);

Er de to tabeller jeg har.. hvori ligger fejlen?
Avatar billede arne_v Ekspert
02. februar 2005 - 13:07 #1
Der mangler vel unikt index på Hold.Holdnavn og index på
Gruppe1.Holdnavn og Gruppe1.HoldID.

[så vidt jeg husker så laver din index et kombineret index på de 2 felter]
Avatar billede arne_v Ekspert
02. februar 2005 - 13:08 #2
Jeg synes iøvrigt at du skulle fjerne feltet Gruppe1.Holdnavn !

Det hører ikke hjemme i en relationel database.
Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:11 #3
INDEX (HoldID),
INDEX (Holdnavn),

Det prøvede jeg lige.. samme fejl :I

Og Gruppe1.Holdnavn skal da være der? Ellers melder den fejl og siger at Holdnavn ikke findes i tabellen
Avatar billede arne_v Ekspert
02. februar 2005 - 13:18 #4
Vel ikke hvis du fjerner den FOREIGN KEY også.
Avatar billede arne_v Ekspert
02. februar 2005 - 13:19 #5
Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:22 #6
Ah ja, naturligvis.. er lidt rusten hehe :D

SKal lige igang igen.
Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:23 #7
Og ja, jeg har kigget lidt på den.. men det er godt nok forvirrende i forhold til MSSQL :/
Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:33 #8
Nu fik jeg det til at virke..

CREATE TABLE Gruppe1 (
ID    INT,
Maalscore  VARCHAR(20),
Point    INT,
AntalKampe  INT,
HoldID    INT,
PRIMARY KEY (ID),
INDEX (HoldID),
FOREIGN KEY (HoldID) REFERENCES Hold (HoldID)
) TYPE = INNODB;

Var det endelige resultat.. hvis du vil ha lidt point, så smid et svar :D
Avatar billede arne_v Ekspert
02. februar 2005 - 13:39 #9
jo tak
Avatar billede bundgaard Nybegynder
02. februar 2005 - 13:46 #10
Selv tak
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