小编使用万网空间时导入dedecms数据库时前63个表可以成功导入,可是后面几十个表就导入不进去了,提示USING BTREE) ENGINE=MyISAM DEFAULT CHARSET=utf8 at line 7错误。小编来讲解一下,以便大家查询使用。
错误如下代码:
-- 表的结构 `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了.