使用MySQL 5.5.23-55上传SQL脚本并使用phpMyadmin版本3.4.11.1导入时,我收到以下愚蠢错误:
SQL查询:
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说:
#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
在网上进行研究,我发现了一篇建议将TYPE=MyISAM
更改为ENGINE=MyISAM
的文章。现在进行此更改会产生以下错误:
SQL查询:
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说:
#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 {1}} {NEWUSER {1}}
提前感谢您的帮助。
答案 0 :(得分:1)
答案 1 :(得分:0)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
将其替换为
) ENGINE = MYISAM AUTO_INCREMENT =1;
类型已替换为engine。
TYPE关键字是折旧的(自5.0起),MySQL5.5不支持(我认为甚至是5.1)。而不是TYPE关键字使用ENGINE关键字。
答案 2 :(得分:0)
我的经验是我必须改变两件事:
TYPE = MyISAM AUTO_INCREMENT = 1;
将其替换为
ENGINE = MyISAM AUTO_INCREMENT = 1;
和
cdate
timestamp(14)NOT NULL,
到
cdate
时间戳NOT NULL,
这对我有用