Page 1 of 1

Importieren eines alten Dumps

PostPosted: 14. February 2013 09:24
by Akascha
Hallöchen
Ich hoffe sehr, dass mir hier einer helfen kann. Habe ein altes Datenbank Dump (und natürlich auch den "Rest") eines meiner Weblogs gefunden. Würde das Ganze gerne auf meinem Webspace installieren und mir mal anschauen. Leider krieg ich - wenn ich die Datenbank importieren will - folgende Fehlermeldung:

SQL query:

CREATE TABLE IF NOT EXISTS sr_articles(

id int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
title varchar( 255 ) NOT NULL default '',
lead text NOT NULL ,
article text NOT NULL ,
linebreaks enum( '1', '0' ) NOT NULL default '1',
CONVERT enum( '1', '0' ) NOT NULL default '0',
display enum( '1', '0' ) NOT NULL default '1',
comments enum( '1', '0' ) NOT NULL default '1',
amount_c int( 10 ) unsigned NOT NULL default '0',
author int( 10 ) unsigned NOT NULL default '0',
timestamp datetime default NULL ,
PRIMARY KEY ( id ) ,
KEY display( display ) ,
KEY timestamp( timestamp ) ,
KEY author( author ) ,
FULLTEXT KEY admin_search( title, lead, article )
) TYPE = MYISAM AUTO_INCREMENT =305;

MySQL said:
#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 'convert enum('1','0') NOT NULL default '0',
display enum('1','0') NOT NULL def' at line 7

Vermute dass das damit zusammen hängt, dass das Dump schon relativ alt ist? Folgende Versionen hatte damals der Webspace und die Datenbank:
-- phpMyAdmin SQL Dump
-- version 2.6.0-pl3
-- Erstellungszeit: 09. Januar 2005 um 01:24
-- Server Version: 4.0.23
-- PHP-Version: 4.3.1

Und so schaut es inzwischen aus:
-- phpMyAdmin SQL Dump
-- version 3.5.3
-- Generation Time: Feb 14, 2013 at 09:16 AM
-- Server version: 5.1.66-nmm3-log
-- PHP Version: 5.2.12-nmm4

Kann man die SQL Datei irgendwie umschreiben, dass ich sie wieder importieren kann?

Re: Importieren eines alten Dumps

PostPosted: 14. February 2013 18:18
by Altrea
Hallo Akascha,

Akascha wrote:Ich hoffe sehr, dass mir hier einer helfen kann.

Ich denke schon :D

Akascha wrote:#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 'convert enum('1','0') NOT NULL default '0',
display enum('1','0') NOT NULL def' at line 7

Vermute dass das damit zusammen hängt, dass das Dump schon relativ alt ist?

Das liegt daran, dass das Wörtchen "CONVERT" ein reserviertes Wort ist (http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-1.html) und ohne spezielle Kennzeichnung nicht einfach so verwendet werden kann.
Umrande deine Tabellennamen einfach mit sogenannten Backticks (s.u.)

Die zweite Sache die dir ziemlich bald (ab MySQL 5.5) passieren wird ist, dass es das Attribut "TYPE" zum auswählen der Speicherengine nichtmehr gibt. Es gibt nun nurnoch ENGINE. Bei deiner MySQL 5.1 Version kann man sowohl TYPE als auch ENGINE verwenden, daher würde ich es einfach jetzt schon mitändern.
Daher sähe der korrekte SQL-Befehl folgendermaßen aus:

Code: Select all
CREATE TABLE IF NOT EXISTS sr_articles(

`id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`title` varchar( 255 ) NOT NULL default '',
`lead` text NOT NULL ,
`article` text NOT NULL ,
`linebreaks` enum( '1', '0' ) NOT NULL default '1',
`CONVERT` enum( '1', '0' ) NOT NULL default '0',
`display` enum( '1', '0' ) NOT NULL default '1',
`comments` enum( '1', '0' ) NOT NULL default '1',
`amount_c` int( 10 ) unsigned NOT NULL default '0',
`author` int( 10 ) unsigned NOT NULL default '0',
`timestamp` datetime default NULL ,
PRIMARY KEY ( `id` ) ,
KEY `display`( `display` ) ,
KEY `timestamp`( `timestamp` ) ,
KEY `author`( `author` ) ,
FULLTEXT KEY `admin_search`( `title`, `lead`, `article` )
) TYPE = MYISAM AUTO_INCREMENT =305;


mit freundlichen Grüßen,
Altrea

Re: Importieren eines alten Dumps

PostPosted: 14. February 2013 18:56
by Akascha
Dankeschön <3 - musste noch eine Zeile mit so Backticks umschreiben, aber dann hat es funktioniert *freu*.

Re: Importieren eines alten Dumps

PostPosted: 14. February 2013 19:04
by Altrea
Dann wünsche ich dir nun viel Spaß mit deinem alten neuen Weblog :D

Re: Importieren eines alten Dumps

PostPosted: 14. February 2013 19:10
by Akascha
Dankeschön :)