【问题标题】:MYSQL ERROR when trying a dump尝试转储时出现 MYSQL 错误
【发布时间】:2014-06-28 04:15:29
【问题描述】:

我正在尝试在我的服务器上安装旧版本的 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 '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 

谁能帮我正确导入数据?

再次感谢堆垛机。

【问题讨论】:

  • 您在default '0000-00-[...] 之后遗漏了最重要部分的代码,这是错误所在。
  • 你能告诉我你正在使用的MySql版本吗?它有没有可能不知道myisam? MySql 3.23 仅包含 ISAM 类型。我认为从 4.1 myisam 开始是默认的。 (我是唯一一个在问题标题中看到幽默的人吗?)
  • 这是我目前发现的:"关键字 TYPE 已从 MySQL 5.1 中删除,请在 SO 上使用来自 this Q&A) ENGINE = MYISAM AUTO_INCREMENT =6;"
  • @ActionDan 不,你不是唯一的(笑)

标签: php mysql joomla phpmyadmin mysql-error-1064


【解决方案1】:

可能您的 MySQL 版本足够新,它无法识别旧的“TYPE”关键字,而是期待“ENGINE”。尝试编辑您的 SQL 文件并在该行中将 TYPE 替换为 ENGINE 并查看它是否导入(或者,至少错误消息会更改)。您可以在文本编辑器中进行更改(希望它具有良好的搜索和替换功能,可以轻松找到任何其他事件 - 但不要盲目地替换它们,以防您的数据包含该术语)。

按照 Action Dan 的要求,了解 MySQL 版本会有所帮助。它显示在 phpMyAdmin 主页面上。

另外,请注意,“转储”是指从数据库中导出;据我所知,导入没有类似的术语(但您不会转储到数据库中,只会转储)。

【讨论】:

    【解决方案2】:

    试试这个代码,你犯的错误是你定义了默认值 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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-07
      • 2012-06-22
      • 2019-08-25
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      相关资源
      最近更新 更多