本文实例讲述了Dedecms导入数据提示:USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=错误的解决方法。分享给大家供大家参考。具体分析如下:
今天在使用网格空间时导入dedecms数据库时前63个表可以成功导入,可是后面几十个表就导入不进去了,提示了 USING BTREE) ENGINE=MyISAM DEFAULT CHARSET=utf8 at line 7,这个我也没看懂,百度一下得到办法,下面分享一下.
导入错误提示如下,错误,SQL 查询:
代码如下:-- 表的结构 `xjz_purview`
--
CREATE TABLE IF NOT EXISTS `xjz_purview` (
`mid` MEDIUMINT( 8 ) DEFAULT '0',
`typeid` SMALLINT( 5 ) DEFAULT '0',
`rank` SMALLINT( 6 ) DEFAULT NULL ,
`pkey` VARCHAR( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` TEXT NOT NULL ,
KEY `pkey` ( `pkey` ) USING BTREE
) ENGINE = MYISAM DEFAULT CHARSET = utf8;
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 'USING BTREE) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 7
在网上查错误说是 KEY `pkey` (`pkey`) USING BTREE 这一句有问题,我记事本打开发现查找不到,然后直接使用dw找再再搜索发现了 KEY `pkey` (`pkey`) USING BTREE行了,先去掉看看,然后导入时发现又有一个问题提示:
#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 DEFAULT CHARSET=utf8' at line 7
再查一下发现如下说明:TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 ,(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM).
MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法,一般地,ENGINE 选项是不必要的,除非默认已经被改变了,MyISAM是默认存储引擎.
查到上面的信息,我的数据库是mysql5.5.8,把TYPE改成ENGINE 就ok了.