[MySQL] fehler beim upload bei phpmyadmin

Silvestergirly

Grünschnabel
Hallo,

ich bin wirklich am verzweifeln.
Für das Studium soll ich eine Datenbank erstellen und das mit PHP verbinden.
So weit kommte ich aber gar nicht, weil sich meine erstellte Datenbank nicht bei phpmyadmin hochladen lässt und ich einfach den Fehler nicht finde.

Beim uploaden der Datei bei phpmyadmin bekomme ich immer wieder die selbe Fehlermeldung. Ich komme echt nicht weiter. Damit ihr es nachvollziehen könnt, hier ist ein dropbxoxlink mit der zip datei.
https://www.dropbox.com/home?preview=neu_buch_autor.zip

c195fd-1465754670.png


Code:
SQL-Befehl:

CREATE TABLE IF NOT EXISTS `mydb`.`Blog_has_Blogger1` (
`Blog_idBlog` INT NOT NULL,
`Blog_Rezensionen_idRezensionen` INT NOT NULL,
`Blogger_idBlogger` INT NOT NULL,
PRIMARY KEY (`Blog_idBlog`, `Blog_Rezensionen_idRezensionen`, `Blogger_idBlogger`),
INDEX `fk_Blog_has_Blogger1_Blogger1_idx` (`Blogger_idBlogger` ASC),
INDEX `fk_Blog_has_Blogger1_Blog1_idx` (`Blog_idBlog` ASC, `Blog_Rezensionen_idRezensionen` ASC),
CONSTRAINT `fk_Blog_has_Blogger1_Blog1`
FOREIGN KEY (`Blog_idBlog` , `Blog_Rezensionen_idRezensionen`)
REFERENCES `mydb`.`Blog` (`idBlog` , `Rezensionen_idRezensionen`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Blog_has_Blogger1_Blogger1`
FOREIGN KEY (`Blogger_idBlogger`)
REFERENCES `mydb`.`Blogger` (`idBlogger`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB[7code]

MySQL meldet:

#1005 - Can't create table `mydb`.`blog_has_blogger1` (errno: 150 "Foreign key constraint is incorrectly formed") (Details…)
 

Anhänge

  • fehlermeldung.png
    fehlermeldung.png
    458,3 KB · Aufrufe: 15
Zuletzt bearbeitet von einem Moderator:
Hi

Bitte das Bild hier im Forum raufladen. Dateien von localhost, also von deinem Computer, sehen wir nicht.
Auch die Zip-Datei kann hier reingestellt werden.

Zum Problem:
Versuch das:
Code:
FOREIGN KEY (`Blog_idBlog` , `Blog_Rezensionen_idRezensionen`)
REFERENCES `mydb`.`Blog` (`idBlog` , `Rezensionen_idRezensionen`)
durch das zu ersetzen:
Code:
FOREIGN KEY (`Blog_idBlog` )
REFERENCES `mydb`.`Blog` (`idBlog` ),
FOREIGN KEY (`Blog_Rezensionen_idRezensionen`)
REFERENCES `mydb`.`Blog` (`Rezensionen_idRezensionen`)
 
Hallo, danke für die Antwort.

Ich habe ein Bild der Fehlermeldung und die ZIP Datei meiner Datenbank angegeben. Ach ja ich habe die Datenbank mit MYSQL Workbench erstellt.
Ich schaue gleich einmal vielen dank
 
Salü

1. Frage
Was für INT Werte hast du in den referenzierenden Tabellen verwendet? INT oder INT(11) machen da einen grossen Unterschied.

2. Frage
Stimmen die Referenzen auf die zu verbindenden Tabellen mit den Werten überein?

3. Tipp:
Verwende für jeden Foreign Key einen eigenständigen Codeblock, wie es sheel vorschlägt. Dann kannst du Key für Key durchprobieren.

Grüsse
 
xloouch hat gesagt.:
Was für INT Werte hast du in den referenzierenden Tabellen verwendet? INT oder INT(11) machen da einen grossen Unterschied.

Hm… Das Internet gibt dir auf den ersten Blick irgendwie vielleicht so halb recht, und ich bin zu faul, es auszuprobieren, aber eigentlich sollte die Angabe in Klammern hinter dem Datentyp bei INT keinen Einfluss auf den Wertebereich haben.

- http://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html

Vielleicht war das eine INT-Feld auch signed und das andere unsigned.

Na ja. :) Jedenfalls mal wieder eine gute Idee, einfach die Fehlermeldung zu googlen.
 
Ja ich habe es lösen können , vielen Dank!
Ich habe die falschen Verbindungen genommen zwischen den Tabellen.
Ich hatte die ganze zeit mit identifiying relationshio gearbeitet , es hätte aber ein non-identifying relationship sein müssen. Habe zewar keine Ahnung warum er da so muckt, aber immer klappt es nun.

Danke nocheinmal für die Hlfe :oops::)
 

Neue Beiträge

Zurück