Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   MySQL: Problem mit *.sql Datei (https://boardunity.de/mysql-problem-sql-datei-t3765.html)

Fokker 26.11.2005 13:32

MySQL: Problem mit *.sql Datei
 
Hallo!
Zuersteinmal muss ich sagen, dass ich mich eher leidlich mit MySQL auskenne.
Ich habe folgendes Problem: Ich möchte eine alte Datenbank meines vBulletin konvertieren, so dass ich sie mit dem phpBB nutzen kann.
Deswegen habe ich versucht die *.sql-Datei in phpmyadmin zu importieren - da die Datenbank größer als 2 MB ist, habe ich es mit bigdump.php versucht.
Jetzt wird mir aber folgender Fehler ausgegeben:
Zitat:

Error at the line 21704: ) TYPE=MyISAM;

Query: CREATE TABLE shoutbox_swears ( id int(11) NOT NULL auto_increment, orig varchar(255) NOT NULL default '', replace varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;

MySQL: 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 'replace varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM' at line 4

Stopped on error
Ist die Datenbank noch zu retten? :confused:

Vielen Dank schonmal für die Antworten!

eBoy 26.11.2005 14:39

Ich hatte das Problem mit einem meiner Backups, welches aber wesentlich kleiner war. Über die Linux-Konsole hat das einspielen der Backup-Datei funktioniert, das Einfügen als Datei über phpmyadmin hat bei mir nicht funktioniert. Als ich dann den kompletten Code der Datei kopiert und in das Eingabe-Fenster (für SQL-Code anstatt aus einer Datei) im phpmyadmin eingefügt hatte, hat das ganze funktioniert...
Wieso weiß ich nicht, nur das du das vielleicht auch so probieren könntest ;)

exe 26.11.2005 21:39

Das Problem ist, dass "replace" ein Schlüsselwort bei SQL ist. Wenn du "replace" als Bezeichnung für eine Spalte in MySQL nehmen willst, musst du den Begriff in Backticks (`) einschliessen. Sonst denkt MySQL, dass du was ersetzen willst und nicht, dass dies der Name für eine Tabellenspalte sein soll.

Das Problem hatte ich übrigens auch schonmal mit einem SQL-Dump eines wBB inkl. Shoutbox-Hack. Öffne einfach die SQL-Datei und entschärf die Felder wo es Fehler gibt mit Backticks, dann funktioniert's auch.

In deinem Fall:

Code:

CREATE TABLE shoutbox_swears ( id int(11) NOT NULL auto_increment, orig varchar(255) NOT NULL default '', `replace` varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;

Fokker 26.11.2005 22:52

Jo, vielen Dank.
Damit klappts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25