当前位置:首页 > 日志 > 正文内容

You have an error in your SQL syntax解决方法

光的传人12年前 (2014-04-30)日志28884

在网站搬家的时候,用帝王备份还原时出现如下代码:

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 ) TYPE=MyISAM' at line 18

CREATE TABLE `oil_strayer_evo` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `content_get_type` tinyint(1) NOT NULL, `content_rules` text NOT NULL, `theme_get_type` text NOT NULL, `theme_rules` text NOT NULL, `detail_ID` varchar(255) NOT NULL, `detail_ID_test` varchar(255) NOT NULL, `domain_hash` char(32) NOT NULL, `domain` varchar(100) NOT NULL, `hit_num` int(10) NOT NULL, `status` tinyint(1) unsigned NOT NULL, `dateline` int(10) unsigned NOT NULL, `evo_text_info` text NOT NULL, `evo_title_info` text NOT NULL, `detail_ID_hash` char(32) NOT NULL, PRIMARY KEY (`id`), KEY `domain_hash` (`domain_hash`,`detail_ID_hash`) USING BTREE ) TYPE=MyISAM

好像是DZ里面的表有问题,经过搜索,发现有人说是数据库版本问题,从MySQL 5.1.63版本转移到5.0版本,高版本往低版本转移。我就尝试了下在备份数据的时候,选择了转成MYSQL4.0格式,这个选项。但是还原数据时,仍然是出现以上错误,到底要怎么解决呢?

直接从PhpMyAdmin导出,再导入也尝试了,也是出现了问题。应该是一样的问题。怎么解决呢?

最简单的办法,放弃有问题的数据库(貌似不现实),继续还原别的数据库。

有没有两全其美的解决办法呢?明天继续摸索吧~比较晚了,该睡觉了!

第二天继续研究:

通过不断测试,终于发现问题所在!错误代码中最后有一个“ KEY `domain_hash` (`domain_hash`,`detail_ID_hash`) USING BTREE ) TYPE=MyISAM”,通过搜索这段代码,发现织梦系统也出现类似状况,详见百度经验“织梦数据库导入提示USING BTREE 错误的解决办法”,归根结底问题的关键在于mysql 5.14版本之前不认识 USING BTREE,sql执行到这一段就进行不下去了。参照经验中的改法,我修改了出错的`oil_strayer_evo`备份文件,“KEY `domain_hash` (`domain_hash`,`detail_ID_hash`) USING BTREE ”修改为“KEY `domain_hash`  USING BTREE  (`domain_hash`,`detail_ID_hash`)”。再试一下,发现这个文件没报错,又出现另外的文件报错,原因是一样的。于是搜索全部包含”USING BTREE“代码的文件,改掉,再恢复数据!

终于大功告成!

总结:You have an error in your SQL syntax解决方法,仔细察看报错代码,如果代码中包含”USING BTREE“那么恭喜你,看到本文就有救了!搜索备份文件夹中(不管是织梦也好DZ也好,原理都一样)所有包含USING BTREE“的文件,把这段代码提前到前面()代码前面。比如原来是KEY `pkey` (`pkey`) USING BTREE  ,就可以修改为KEY `pkey`  USING BTREE (`pkey`)   。修改完成后,再试一下,是不是恢复数据成功了呢?

扫描二维码推送至手机访问。

版权声明:本文由光的传人博客www.liu16.com发布,如需转载请注明出处。

本文链接:http://www.liu16.com/post/USINGBTREE.html

分享给朋友:

相关文章

纪念抗战胜利77周年

纪念抗战胜利77周年

今年是中国人民抗日战争暨世界反法西斯战争胜利77周年。1931年至1945年,中国人民以14年浴血奋战打败日本军国主义侵略者,最终取得抗日战争的伟大胜利。铭记历史,缅怀先烈,吾辈自强!77年前的今天中国人民经过14年浴血奋战打败了日本军国主...

Phison(群联)主控PS2251-07(PS2307)金士顿64G DataTraveler100 G3量产工具及方法总结

Phison(群联)主控PS2251-07(PS2307)金士顿64G DataTraveler100 G3量产工具及方法总结

不知道怎么搞的,我的一个金士顿64G DataTraveler 100 G3的U盘在平板上用过几次之后(每次都是卸载u盘之后拔出),竟然出问题了!插到电脑上显示要格式化,然而真正要格式化时,却显示windows无法完成格式化,又或者是提示U...

苏宁内购会会很便宜吗?苏宁、国美内购会会员日其实就是一个促销活动

苏宁内购会会很便宜吗?苏宁、国美内购会会员日其实就是一个促销活动

好久没有写博客了,没想到一写就要写好几篇(关于苏宁的)。先从当初的苏宁内购会开始说起。九月初,准备买大家电,想从实体店购买,于是就开始转悠各大电器商场,什么国美、苏宁等等。转了不少大商场,其实都差不多,所谓大家电商场,无非是把各大品牌的电器...

迅雷看看开机启动取消不了怎么办?终极解决方法大全

迅雷看看开机启动取消不了怎么办?终极解决方法大全

没想到众所周知的下载软件迅雷旗下也出来这么个流氓软件——迅雷看看,默认开机自动启动不说,关键是怎么取消开机启动都是无效的!相信看到这篇文章的你,已经试了多种方法:1、在迅雷看看设置里取消开机启动(结果再开机还是自启了,更奇葩流氓的是,刚设置...

shopex后台登陆空白,解决方法合集

shopex后台登陆空白,解决方法合集

在一次给一个shopex内核的网站搬家的时候,发现转移完毕后,网站前台访问完全正常,后台访问正常,但是输入用户名、密码登录后台后一片空白,这是怎么回事呢?搬家前是正常的,搬家后就出现这个问题了,肯定是搬家过程中出现了问题。于是开始了不停地折...

ShopEX后台登录超时(由于动态IP限制导致)的正确解决方法(测试成功)

ShopEX后台登录超时(由于动态IP限制导致)的正确解决方法(测试成功)

ShopEX后台登录超时,确实是因为动态ip限制导致的。因为我朋友那边一登录后台就提示:登录超时,请重新登录!而我电脑,一切正常。遇到这种问题,首先问度娘、谷歌。可是问来问去,无非就这同一个答案:***找到core文件夹下面的func_ex...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。