MySQL-Version Verwandte Syntax-Fehler
Wenn Sie eine SQL-Skript mit MySQL-version 5.5.23-55 und importieren mit phpMyadmin-version 3.4.11.1, ich bin immer folgende goofy Fehler:
SQL-Abfrage:
CREATE TABLE `dp_banks` (
`id` int(11) NOT NULL auto_increment,
`owner` int(11) NOT NULL default '0',
`bname` varchar(128) NOT NULL default '',
`baddress` varchar(128) NOT NULL default '',
`bcity` varchar(64) NOT NULL default '',
`bzip` varchar(16) NOT NULL default '',
`bcountry` char(2) NOT NULL default '',
`bstate` varchar(32) NOT NULL default '',
`bphone` varchar(32) NOT NULL default '',
`bnameacc` varchar(128) NOT NULL default '',
`baccount` varchar(32) NOT NULL default '',
`btype` char(2) NOT NULL default '',
`brtgnum` varchar(9) NOT NULL default '',
`bswift` varchar(32) NOT NULL default '',
`status` tinyint(1) NOT NULL default '0',
`default` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
MySQL sagte:
#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 'TYPE=MyISAM AUTO_INCREMENT=1' at line 19
Recherche im Netz, fand ich einen Artikel, dass die empfohlenen änderung TYPE=MyISAM
zu ENGINE=MyISAM
. Diese änderung jetzt gibt die folgenden Fehler:
SQL-Abfrage:
CREATE TABLE `dp_confirms` (
`id` int(11) NOT NULL auto_increment,
`newuser` varchar(32) NOT NULL default '',
`newpass` varchar(32) NOT NULL default '',
`newquestion` varchar(255) NOT NULL default '',
`newanswer` varchar(255) NOT NULL default '',
`newmail` varchar(255) NOT NULL default '',
`newfname` varchar(32) NOT NULL default '',
`newlname` varchar(32) NOT NULL default '',
`newcompany` varchar(128) NOT NULL default '',
`newregnum` varchar(32) NOT NULL default '',
`newdrvnum` varchar(32) NOT NULL default '',
`newaddress` varchar(128) NOT NULL default '',
`newcity` varchar(64) NOT NULL default '',
`newcountry` char(2) NOT NULL default '',
`newstate` varchar(32) NOT NULL default '',
`newzip` varchar(32) NOT NULL default '',
`newphone` varchar(64) NOT NULL default '',
`newfax` varchar(64) NOT NULL default '',
`sponsor` int(11) NOT NULL default '0',
`confirm` varchar(255) NOT NULL default '',
`cdate` timestamp(14) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `newuser` (`newuser`),
KEY `newmail` (`newmail`)
) ENGINE=MyISAM AUTO_INCREMENT=1 ;
MySQL sagte:
#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 '(14) NOT NULL, PRIMARY KEY (
id), UNIQUE KEY
newuser(
newuser), KEY ' at line 22
Vielen Dank im Voraus für alle Hilfe.
InformationsquelleAutor user2792736 | 2013-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere als die änderung der
TYPE
zuENGINE
ändernzu
Hier ist SQLFiddle demo
InformationsquelleAutor peterm
Ersetzen Sie diese mit
Typ wurde ersetzt mit Motor.
TYP-Schlüsselwort wird abgeschrieben (seit 5.0) und nicht unterstützt MySQL5.5 (und ich denke auch 5.1). Statt TYP-Schlüsselwort verwenden-MOTOR-Schlüsselwort.
InformationsquelleAutor mr_eclair
Meine Erfahrung war, dass ich hatte zwei Dinge geändert:
Ersetzen Sie diese mit
UND
zu
Das hat für mich
InformationsquelleAutor Jesus Flores