[MySQL] Hilfe bei überspielen auf Webserverdatenbank

privacy

Captain
Registriert
Aug. 2004
Beiträge
3.238
Hallo zusammen,

habe folgendes Problem. Wollte eben die Datenbank meines Nucleus CMS auf meinen Webserver spielen nun bekomme ich beim Import folgende Meldungen und ich bin ziemlich verloren was das angeht, da ich mich nicht wirklich auskenne und es interessant wäre was das ganze zu bedeuten hat.

Code:
 CREATE TABLE `nuc_nucleus_blog` (
`bnumber` int( 11 ) NOT NULL AUTO_INCREMENT ,
`bname` varchar( 60 ) collate utf8_bin NOT NULL default '',
`bshortname` varchar( 15 ) collate utf8_bin NOT NULL default '',
`bdesc` varchar( 200 ) collate utf8_bin default NULL ,
`bcomments` tinyint( 2 ) NOT NULL default '1',
`bmaxcomments` int( 11 ) NOT NULL default '0',
`btimeoffset` decimal( 3, 1 ) NOT NULL default '0.0',
`bnotify` varchar( 60 ) collate utf8_bin default NULL ,
`burl` varchar( 100 ) collate utf8_bin default NULL ,
`bupdate` varchar( 60 ) collate utf8_bin default NULL ,
`bdefskin` int( 11 ) NOT NULL default '1',
`bpublic` tinyint( 2 ) NOT NULL default '1',
`bsendping` tinyint( 2 ) NOT NULL default '0',
`bconvertbreaks` tinyint( 2 ) NOT NULL default '1',
`bdefcat` int( 11 ) default NULL ,
`bnotifytype` int( 11 ) NOT NULL default '15',
`ballowpast` tinyint( 2 ) NOT NULL default '0',
`bincludesearch` tinyint( 2 ) NOT NULL default '0',
PRIMARY KEY ( `bnumber` ) ,
UNIQUE KEY `bnumber` ( `bnumber` ) ,
UNIQUE KEY `bshortname` ( `bshortname` )
)ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_bin AUTO_INCREMENT = 6

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 utf8_bin NOT NULL default '',
  `bshortname` varchar(15

Local Server: MySQL 4.1.12a
Webserver: MySQL 4.0.15

Falls das von Interesse sein sollte. Vielleicht können wir ja zusammen ein bischen Licht ins Dunkel bringen :) Bin ziemlich ratlos.

mfg Denis
 
Hi,

das Problem sind die collate-Angaben. Die Version von MySQL die auf dem Webserver läuft kann damit noch nichts anfangen.
Lass einfach diese Teile aus dem SQL-Text raus, dann sollte es funktionieren.

Tobi

Edit:
Das hier:
ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_bin AUTO_INCREMENT = 6
wird zu:
ENGINE = MYISAM AUTO_INCREMENT = 6
 
Zuletzt bearbeitet:
super vielen Dank für die schnelle Info dann werde ich das ganze gleich mal versuchen :) Ich dachte schon die ganze Arbeit eines Tages wäre für die Tonne :D

Jetzt muss ich doch nochmal nachfragen. Hab jetzt mal zum testen eine einzelne Table genommen und sie exportiert nun bekomme ich beim Import folgendes:

Code:
 SQL-Befehl : 

CREATE TABLE `nuc_nucleus_item` (
`inumber` int( 11 ) NOT NULL AUTO_INCREMENT ,
`ititle` varchar( 160 ) default NULL ,
`ibody` text NOT NULL ,
`imore` text,
`iblog` int( 11 ) NOT NULL default '0',
`iauthor` int( 11 ) NOT NULL default '0',
`itime` datetime NOT NULL default '0000-00-00 00:00:00',
`iclosed` tinyint( 2 ) NOT NULL default '0',
`idraft` tinyint( 2 ) NOT NULL default '0',
`ikarmapos` int( 11 ) NOT NULL default '0',
`icat` int( 11 ) default NULL ,
`ikarmaneg` int( 11 ) NOT NULL default '0',
PRIMARY KEY ( `inumber` ) ,
UNIQUE KEY `inumber` ( `inumber` ) ,
KEY `itime` ( `itime` ) ,
FULLTEXT KEY `ibody` ( `ibody` , `ititle` , `imore` )
)ENGINE = MYISAM DEFAULT CHARSET = latin1 PACK_KEYS = 0 

 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 'ENGINE=MyISAM DE

Nun habe ich nach dem gesucht das du geschrieben hast, ich hab es aber nicht gefunden. Hmm *grübel* Ich hänge mal die table an. (ist eh nichts wichtiges drin)


---

Hab es geschafft. Einfach die Kompatibiltät auf MYSQL40 stellen und schon flutscht es. Naja da hätte ich auch selber drauf kommen können :D Problem ist gelöst :=
 
Zuletzt bearbeitet:
Zurück
Oben