Problem mit dem Setzen vom "foreign key"

Tuts4you

Erfahrenes Mitglied
Guten Morgen Leute!
Hab wieder mal ein kleiney mysql-prob:

ich möchte in meiner Tabelle "Bestellung" die den "PRIMARY KEY(BestellNr)" hat einen "FOREIGN KEY" von "KundenNr" erstellen! Jedoch, das nicht ganz!

1) Dürfen Primary und Foreign unter einander vorkommen?
2) FOREIGN KEY(ArtikelNr) ist das richtig?

mein table sieht so aus:
PHP:
$create_tab = mysql_query("CREATE TABLE $bestellung (BestellNr int NOT NULL auto_increment,
                                                    KundenNr int NOT NULL,
                                                    ArtikelNr int NOT NULL,
                                                    Bezeichnung varchar(60) NOT NULL,
                                                    Menge varchar(10) NOT NULL,
                                                    Preis decimal(7,2),
                                                    Gesamtpreis decimal(7,2),
                                                    PRIMARY KEY (BestellNr))");
und wenn ich ganz unten "FOREIGN KEY (ArtikelNr)" schreibe, funktioniert das ganze nicht mehr :-(

Bitte helft mir weiter!

Ganz liebe Grüße

Michael
 
Hallo,

du solltest noch mit angeben, wo denn der Schlüssel liegt auf den du mit der Spalte Artikelnr referenzieren möchtest, also
Code:
FOREIGN KEY (artikelnr) REFERENCES (tabelle(spalte))
wobei natürlich für tabelle und spalte die entsprechende Tabelle und ihre Spalte genommen werden sollte. Ach ja, beide Tabellen müssen InnoDB Tabellen sein, ansonsten interessiert der Constraint die MySQL nicht. Näheres dazu findest du im Referenzhandbuch für deine MySQL Version.

hth
THMD
 

Neue Beiträge

Zurück