MCTimotheus18 Geschrieben 16. Dezember 2006 Teilen Geschrieben 16. Dezember 2006 Einen wunderschönen guten Abend, ich habe heute den gesamten Tag ein Datenbank-Modell entworfen und wollte es grade auf meinen MySQL-Server aufspielen mittels eines SQL-Skripts. Es ist natürlich jetzt schwierig aufgrund des mittelgroßen Codes den Fehler zu beschreiben. Die Fehlermeldung ist folgende: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Position(ID) ON DELETE CASCADE ON UPDATE CASCADE )' at line 35 Der Code der gesamten Datenbank befindet sich hier (MySQL Version 5.0.27): MySQL Code der Datenbank Ein Bild meines Datenbank-Modells: Ich nehme an es liegt an den Fremdschlüsseln aber ich habe ehrlich gesagt keine Idee mehr was ich falsch mache. Würde mich wirklich sehr über eure Hilfe freun ! Ich hoffe an brauchbaren und nötigen Informationen nichts vergessen. Danke und noch einen schönen Abend, MCT Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 16. Dezember 2006 Teilen Geschrieben 16. Dezember 2006 verwendest du innodb- oder myisam-tabellen? letztere unterstützen AFAIR keine fremdschlüssel, zumindest aber keine kaskadierenden updates und löschoperationen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 16. Dezember 2006 Autor Teilen Geschrieben 16. Dezember 2006 Hi, ich benutze MyISAM. Sollte ich auf innoDB umstellen? Kann mir eventuell jemand den Unterschied erklären? Danke, MCT Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 17. Dezember 2006 Teilen Geschrieben 17. Dezember 2006 Hi, Myisam bietet nur einfache Tabellenverwaltung. Erst der Tabellentyp InnoDB bietet Fremdschlüssel und Transaktion und ... Bei Myisam werden die nicht unterstützten Features einfach ignoriert. Hat aber alles nix mit der Fehlermeldung zu tun. Position ist ein Schlüsselwort, du musst das umbenennen oder in Backticks setzen `Position`. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 17. Dezember 2006 Autor Teilen Geschrieben 17. Dezember 2006 Danke, jetzt nimmt die Datenbank auch den Code endlich an. Es lag wirklich am Namen "Position". Jetzt hätte ich aber noch eine kleine Frage. Um die Beziehungen auch wirklich nutzen zu können brauche ich also innoDB und nicht MyISAM, also um die unten aufgezählten Befehle nutzen zu können ? Wo genau liegt denn der Unterschied zwischen den Referenz-Definitionen, die bei "On Delete" und "On Update" angegeben werden können: RESTRICTCASCADESET NULLSET DEFAULT Nochmals vielen vielen Dank für eure Hilfe, endlich gehts mal wieder voran ;-) Gruß, MCT Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.