Php 尝试转储时出现MYSQL错误
我正在尝试在我的服务器上安装Joomla 1.5的旧版本,我的主机已经与我合作,允许1.5安装无误,但是问题之一是我需要对数据库进行mysql转储,当我尝试将数据库转储到网站时,我得到以下错误 错误SQL查询:Php 尝试转储时出现MYSQL错误,php,mysql,joomla,phpmyadmin,mysql-error-1064,Php,Mysql,Joomla,Phpmyadmin,Mysql Error 1064,我正在尝试在我的服务器上安装Joomla 1.5的旧版本,我的主机已经与我合作,允许1.5安装无误,但是问题之一是我需要对数据库进行mysql转储,当我尝试将数据库转储到网站时,我得到以下错误 错误SQL查询: CREATE TABLE `jos_banner` ( `bid` int(11) NOT NULL auto_increment, `cid` int(11) NOT NULL default '0', `type` varchar(90) NOT NULL default 'bann
CREATE TABLE `jos_banner` ( `bid` int(11) NOT NULL auto_increment, `cid` int(11) NOT NULL default '0', `type` varchar(90) NOT NULL default 'banner', `name` text NOT NULL, `alias` varchar(255) NOT NULL default '', `imptotal` int(11) NOT NULL default '0', `impmade` int(11) NOT NULL default '0', `clicks` int(11) NOT NULL default '0', `imageurl` varchar(100) NOT NULL default '', `clickurl` varchar(200) NOT NULL default '', `date` datetime default NULL, `showBanner` tinyint(1) NOT NULL default '0', `checked_out` tinyint(1) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', `editor` varchar(150) default NULL, `custombannercode` text, `catid` int(10) unsigned NOT NULL default '0', `description` text NOT NULL, `sticky` tinyint(1) unsigned NOT NULL default '0', `ordering` int(11) NOT NULL default '0', `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', `publish_down` datetime NOT NULL default '0000-00-[...]
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=6' at line 29
有人能帮我正确导入数据吗
再次感谢stackers。可能您的MySQL版本足够新,无法识别较旧的“TYPE”关键字,而应该是“ENGINE”。尝试编辑SQL文件并在该行中用ENGINE替换TYPE,然后查看它是否导入(或者至少错误消息发生了更改)。您可以在文本编辑器中进行更改(希望它具有良好的搜索和替换功能,以便于查找任何其他事件,但不要盲目地将它们全部替换,以防您的数据包含该术语) 按照Dan的要求,了解MySQL版本会有所帮助。它显示在主phpMyAdmin页面上
另外,需要注意的是,“dump”是指从数据库中导出的内容;据我所知,没有类似的术语来表示导入(但您不会将数据转储到数据库中,只会将其导出) 尝试此代码您所犯的错误是在中定义了默认值0,如“0”
CREATE TABLE `jos_banner`(
`bid` int(11) NOT NULL auto_increment primary key,
`cid` int(11) NOT NULL default 0,
`type` varchar(90) NOT NULL default 0, `name` varchar(255) NOT NULL ,
`alias` varchar(255) NOT NULL default 0, `imptotal` int(11) NOT NULL default 0,
`impmade` int(11) NOT NULL default 0, `clicks` int(11) NOT NULL default 0,
`imageurl` varchar(100) NOT NULL default 0, `clickurl` varchar(200) NOT NULL default 0, `date` datetime default NULL, `showBanner` tinyint(1) NOT NULL default 0,
`checked_out` tinyint(1) NOT NULL default 0, `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', `editor` varchar(150) default NULL, `custombannercode` varchar(255), `catid` int(10) unsigned NOT NULL default 0, `description` text NOT NULL, `sticky` tinyint(1) unsigned NOT NULL default 0, `ordering` int(11) NOT NULL default 0, `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', `publish_down` datetime NOT NULL default '0000-00-00 00:00:00')
在
default'0000-00-[…]
之后,您遗漏了最重要部分的代码,这就是错误所在。您还可以建议您使用的MySql版本吗。有没有可能它不知道myisam?MySql 3.23仅包含ISAM类型。从4.1开始,我认为myisam是默认的。(我是唯一一个在问题标题中看到幽默的人吗?)