problem mit mySQL foreign keys (1005)
crawford97
- datenbank
0 Rouven0 crawford970 crawford97
0 Universum
Hallo zusammen,
bin ziemlich neu in mySQL.
Warum bekomme ich den Fehler 1005 (errno: 150) beim Erstellen der sells-table? Ich habe die Doku hoch- und runtergelesen, gegoogelt und rumprobiert. Die Tabellen werden neu direkt nacheinander unter mySQL 4.0 erstellt:
create table kunden2
(
id
int(4) not null auto_increment,
name
varchar(64),
PRIMARY KEY (id
)
) TYPE=innodb
create table products2
(
id
int(4) not null auto_increment,
name
varchar(64),
PRIMARY KEY (id
)
) TYPE=innodb
CREATE TABLE sells(
id
int(4) not null auto_increment,
prod
int(4) not null,
kunde
int(4) not null,
FOREIGN KEY ( kunden_id ) REFERENCES kunden2( id ) ,
FOREIGN KEY ( product_id ) REFERENCES products2( id ) ,
PRIMARY KEY ( id
)
) TYPE = INNODB
Danke für Tips,
Michael
Hello,
FOREIGN KEY ( kunden_id ) REFERENCES kunden2( id ) ,
FOREIGN KEY ( product_id ) REFERENCES products2( id ) ,
ich mag falsch liegen, aber irgendwas passt mir da nicht so richtig zusammen. Entweder ist kunden_id der Name des Schlüssels, dann fehlt die Spalte, oder kunden_id ist der Name der FK-Spalte, dann fehlt sie (es gibt nur kunde).
MfG
Rouven
Hi,
ich mag falsch liegen, aber irgendwas passt mir da nicht so richtig zusammen. Entweder ist kunden_id der Name des Schlüssels, dann fehlt die Spalte, oder kunden_id ist der Name der FK-Spalte, dann fehlt sie (es gibt nur kunde).
Du liegst richtig, ich hatte noch ein Reply nachgeschoben und das darin korrigiert, wo ist's denn??
Das wäre natürlich auch ein Problem, war aber nicht die Ursache da es im verwendeten mySQL statement richtig angegeben war.
Danke & Gruß,
Micha
...hm, seltsam, ein Posting von mir fehlt wohl.
Das Problem lag im vergessenen Index über die beiden foreign keys.
Danke & Gruß,
Micha
CREATE TABLE sells(
id
int(4) not null auto_increment,
prod
int(4) not null,
kunde
int(4) not null,
FOREIGN KEY ( kunden_id ) REFERENCES kunden2( id ) ,
FOREIGN KEY ( product_id ) REFERENCES products2( id ) ,
PRIMARY KEY (id
)
) TYPE = INNODB
Hi,
da sind einige Fehler...
Fehler1:
FOREIGN KEY ( kunden_id ) REFERENCES kunden2( id )
Korrektur1:
FOREIGN KEY ( kunde_id ) REFERENCES kunden2( id )
Fehler2:
FOREIGN KEY ( product_id ) REFERENCES products2( id )
Korrektur2:
FOREIGN KEY ( prod ) REFERENCES products2( id )
Fehler3:
kunde
int(4) not null,
Korrektur3:
zwischen kunde
und int(4) muss ein space sein.
Probiers mal aus jetzt.
Gruss