MySQL-Fehler #1064 beim Importieren

marius

Registered User
Hallo zusammen, bin mittlerweile ziemlich verzweifelt.

Ich ziehe grade von einem alten Server auf einen neuen um und muss einige Datenbanken auf dem neuen Server importieren.

Leider klappt das schon beim Erstellen der Tabellen nicht.

Auf dem alten Server läuft MySQL 4.1.11-Debian_4 und auf dem neuen Server 4.0.24_Debian-10sarge2. Jedes mal wenn ich mit phpMyAdmin probier, eine Tabelle zu erzeugen per SQL-Statement erhalte ich den Fehler 1064, wie diesen hier:

SQL-Befehl:

CREATE TABLE `forenposts` (
`id` smallint( 10 ) NOT NULL AUTO_INCREMENT ,
`titel` varchar( 200 ) NOT NULL default '',
`text` longtext NOT NULL ,
`datum` varchar( 200 ) NOT NULL default '',
`autor` smallint( 10 ) NOT NULL default '0',
`forum` smallint( 10 ) NOT NULL default '0',
`isparent` smallint( 10 ) NOT NULL default '0',
`parentpost` smallint( 10 ) NOT NULL default '0',
`general` smallint( 10 ) NOT NULL default '0',
`status` varchar( 200 ) NOT NULL default '',
UNIQUE KEY `id` ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT =1314;


MySQL meldet:
#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 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=1314' at line 13

Hat einer eine zündende Idee? Kann es vom Versionsunterschied kommen? Wenn ja, wie kann ich das lösen, sind nämlich verdammt viele Tabellen/DBs...

Vielen Dank schon mal!

Gruß
 
Hallo marius,

DEFAULT CHARSET ist erst ab Version 4.1 verfügbar.

Also entweder den neuen Server auch auf 4.1 upgraden.

Oder das Backup mit 4.0er Kompatiblität machen.

Oder Das Backup händisch editieren.

Lg
Free
 
Hallo Freel@ncer14,

vielen Dank für den Hinweis! Habe soeben das erste Mal das Feld SQL-Kompatibilität gesehen und benutzt ;-)

Danke sehr, hat nun alles bestens geklappt!

Gruß
 
Hilfe komme nicht mehr weiter

Habe mir jetzt den kopf zerbochen aber komme nicht witer habe immer den selben fehler
Fehler
SQL-Befehl:

CREATE TABLE `children_slot` (

`lauf` int( 2 ) NOT NULL AUTO_INCREMENT ,
`jp` varchar( 10 ) COLLATE latin1_general_ci NOT NULL default '',
`gameid` varchar( 10 ) COLLATE latin1_general_ci NOT NULL default '',
`win` varchar( 10 ) COLLATE latin1_general_ci NOT NULL default '',
`lose` varchar( 10 ) COLLATE latin1_general_ci NOT NULL default '',
`pot1` decimal( 7, 0 ) NOT NULL default '0',
`pot2` decimal( 7, 0 ) NOT NULL default '0',
`text1` text COLLATE latin1_general_ci NOT NULL ,
`text2` text COLLATE latin1_general_ci NOT NULL ,
`text3` text COLLATE latin1_general_ci NOT NULL ,
PRIMARY KEY ( `lauf` )
) TYPE = MYISAM ;



MySQL meldet:

#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 'collate latin1_general_ci NOT NULL default '',
`gameid` varc
 
Aber da steht es doch, und
Check the manual that corresponds to your MySQL server version for the right syntax to use near 'collate latin1_general_ci
Und Free hat oben schon den richtigen Hinweiß gegeben. Den Parameter "collate" gibt es erst ab MySQL 4.1.

huschi.
 
Back
Top