adg Skrevet 16. mars 2007 Del Skrevet 16. mars 2007 Hei. Har et problem når jeg oppretter tabellene mine. Har gått fint med de første, men når jeg skal opprette en tabell som inneholder fremmednøkkel blir det krøll. Jeg får feilmelding nr. 150 og jeg kom fram til at dette gjelder fremmednøkler. Jeg skjønner ikke helt hva jeg skal skrive... Trodde det var f.eks: CREATE TABLE Postadresse( Postnr Integer NOT NULL, Stedsnavn Varchar(15), PRIMARY KEY (Postnr)); CREATE TABLE Adresse( Adrnr Integer NOT NULL, Adresse Varchar(30), Postnr Integer, PRIMARY KEY (Adrnr), FOREIGN KEY( Postnr) references Postadresse (Postnr)); Men dette virker ikke :\ Noen som kan si hva som er feil med fremmednøkkelen? MVh adg Lenke til kommentar
tZar Skrevet 16. mars 2007 Del Skrevet 16. mars 2007 Du må vel lage en index på Postnr før du gjør den til Foreign Key mener jeg Se dette eksempelet fra manualen: CREATE TABLE parent (id INT NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODB; CREATE TABLE child (id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB; Lenke til kommentar
adg Skrevet 16. mars 2007 Forfatter Del Skrevet 16. mars 2007 Ok, takk! Er det samme hva jeg kaller indexen? 'on delete cascade' vil si? Sletter denne indexen igjen? Lenke til kommentar
tZar Skrevet 16. mars 2007 Del Skrevet 16. mars 2007 Det har med hva som skal skje i relasjonene når noe blir slettet. Anbefaler at du leser litt her: http://dev.mysql.com/doc/refman/5.0/en/inn...onstraints.html Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå