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

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

光的传人11年前 (2014-04-30)日志28605

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

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

分享给朋友:

相关文章

黑胶体无法识别短接新方法(金士顿DTSE9 16G U盘)

黑胶体无法识别短接新方法(金士顿DTSE9 16G U盘)

今天又翻出了6年前的一个16G U盘,之前量产过,详见文章《金士顿DTSE9 16G U盘(山寨安国Alcor主控)量产方法及量产工具》。对,还是这个U盘(黑胶体丝印为:ZY1512SD016AG,搜索不出任何信息!),当年量产好了之后,好...

验房注意事项(大全)16个装修房毛胚房等新房验房注意事项

验房注意事项(大全)16个装修房毛胚房等新房验房注意事项

收房验房都有哪些注意事项呢?先来说一下楼下做建筑行业邻居告诉我的一个注意事项(网上没有的):在检验地板的时候,要注意特别检查墙角处是否有空心,门槛处是否做工精细(因为要长期踩踏,有一点小问题就撑不了太久)。以下精彩内容是网络搜集的(精装房、...

红米JHACNBD16.0 ROOT,开启官方自带root方法

红米JHACNBD16.0 ROOT,开启官方自带root方法

之前升级到自己修改的JHACNBA13.0版本后(详见文章:红米升级JHACNBA13.0稳定版root解决方法、已升级到JHACNBA13.0降级到5.0,并升级到13.0开启官方自带root方案),发现在线检测升级一直显示没有更新的ro...

PS文字实现左右对齐,全部对齐按钮灰色怎么办?

PS文字实现左右对齐,全部对齐按钮灰色怎么办?

一直以来,使用PS处理文字分行分段都是手动回车换行分段,可是当文字中间标点符号参差不齐时,就会出现左边对齐了,但是右边对不齐的情况。文字少的时候,这种现象不是很明显,所以一直没怎么注意这回事,但是当文字多了,右边不对齐就会很明显,非常不美观...

ERRORLOG过份庞大删除不掉怎么办?

ERRORLOG过份庞大删除不掉怎么办?

登陆了一个好久没上去看过的VPS,发现提示C盘空间不足,打开“我的电脑”一看,好家伙,19G的系统盘竟然全部使用了,一点都没有空闲。到底是什么程序占用了系统盘?让我们一起来抓出幕后黑手!首先看看C盘Program Files里面有没有可疑的...

opencart转移空间后,打开显示空白怎么回事?

opencart转移空间后,打开显示空白怎么回事?

帮客户转移一个网站,由于linux空间有文件数量限制,导致网站经常出现错误,页面顶部会出现几行错误代码。opencart程序虽然不错,但是缓存文件真的是太多了,第一次碰到这种问题,空间大小都没用到一半,竟然文件数超了,导致网站出问题。这可怎...

发表评论

访客

看不清,换一张

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