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

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

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

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

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

分享给朋友:

相关文章

Z-blog插件Auto Publisher的使用方法

Z-blog插件Auto Publisher的使用方法

最新更新:经过测试,此插件不是一次更新一篇文章,而是把草稿文章一次全部发出~那要你有什么用?为了测试Z-blog应用中心自动定时发布文章的插件是否好用,特此发布此文章:Z-blog插件Auto Publisher的使用方法,大牛勿喷!方法如...

感染型病毒virus/jadtre.ex是什么鬼?

感染型病毒virus/jadtre.ex是什么鬼?

好久没有更新博客,没想到一更新就是因为自己电脑被感染了病毒……没办法,谁让自己冒险点了杀毒软件弹出的信任按钮呢!记得上次电脑被感染病毒还是在大学期间,那次病毒感染好像很严重,逼得我全部格盘才清理干净了。那次惨痛的教训让我有了使用杀毒软件的习...

拒绝外链从“数据处理中”到“拒绝已生效”用时30天整

拒绝外链从“数据处理中”到“拒绝已生效”用时30天整

百度站长工具之外链分析,执行拒绝外链,从“数据处理中”到“拒绝已生效”共用时30天整。这是第二次使用百度外链分析工具中的拒绝外链功能,此次准确计时,再次证明了生效时间是30天,也就是一个月。本站从来就没有发过什么垃圾外链,真不知道这些个垃圾...

root后红米升级到JHACNAH5.0

root后红米升级到JHACNAH5.0

root后的红米升级系统确实是有点麻烦,要把完整包下载下来,浪费的时间就多了。升级方法可参照我之前写的:《红米手机ROOT后系统更新失败,只是方法不对》。在此,再重复一下升级过程:在红米手机自带的“系统更新”界面下,点击菜单按钮(触摸屏),...

MySQL数据库某表显示正在使用,无法打开或删除,对应MYD文件怎么修复?

MySQL数据库某表显示正在使用,无法打开或删除,对应MYD文件怎么修复?

昨天说好的电商618年中大促,可就在这个时候,河南机房出现故障(具体请搜索618河南机房电力事故,河南景安机房官网、西部数码、华夏名网所用的河南机房都受此影响),从早上8点左右开始,差不多整整一天云服务器、VPS等都连接不上,不知损失了客户...

VMware虚拟机“物理磁盘已被使用,打不开磁盘或它所依赖的某个快照磁盘。”解决方案大全

VMware虚拟机“物理磁盘已被使用,打不开磁盘或它所依赖的某个快照磁盘。”解决方案大全

今天发现一个问题,搜索了很久终于靠前人的经验+自己的摸索解决了。在重装我自己封装的GHOST win10 x64 LTSB系统前的win7系统上使用没有任何问题的VMware 12,在win10中竟然出现了“物理磁盘已被使用,打不开磁盘‘(...

发表评论

访客

看不清,换一张

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