原文来自:https://www.zixuephp.com
Dedecms导入数据 USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET= 错误
今天在使用网格空间时导入dedecms数据库时前63个表可以成功导入,可是后面几十个表就导入不进去了,提示了 USING BTREE) ENGINE=MyISAM DEFAULT CHARSET=utf8 at line 7,这个我也没看懂,百度一下得到办法,下面分享一下.
导入错误提示如下,错误,SQL 查询:
- –表的结构`xjz_purview`
- —
- CREATETABLEIFNOTEXISTS`xjz_purview`(
- `mid`MEDIUMINT(8)DEFAULT'0',
- `typeid`SMALLINT(5)DEFAULT'0',
- `rank`SMALLINT(6)DEFAULTNULL,
- `pkey`VARCHAR(30)CHARACTERSETlatin1NOTNULL,
- `pvalue`TEXTNOTNULL,
- KEY`pkey`(`pkey`)USINGBTREE
- )ENGINE=MYISAMDEFAULTCHARSET=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 //phpfensi.com
再查一下发现如下说明:TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 ,(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM).
MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法,一般地,ENGINE 选项是不必要的,除非默认已经被改变了,MyISAM是默认存储引擎.
查到上面的信息,我的数据库是mysql5.5.8,把TYPE改成ENGINE 就ok了.