注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

浮游生物的博客

以扯蛋的态度面对操蛋的人生

 
 
 

日志

 
 

dedecms 数据库导入时出现dede_purview错误  

2011-08-22 15:55:33|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


今天用DEDECMS 5.7新做了个网站,本地服务器调试完成了。放到公司的服务器上的时候开始出问题了,Navicat for MySQL本地转储sql文件后,运行批次任务文件将数据导入到服务器上出现错误提示:

[Err] 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=gbk' at line 7

[Err] CREATE TABLE `dede_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=gbk;

[Msg] Finished - Unsuccessfully

出现这个错误原因好象是跟MYSQL数据库版本不对应有关,就是兼容性问题。本地的版本和服务器上的不一致的报错。

错误位置为“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”

表名为dede_purview,为了快速解决问题,删除了“USING BTREE”,导入成功。

也可用SQL执行下例语句即可:


CREATE TABLE `dede_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` USING BTREE ( `pkey` )) ENGINE =MyISAM DEFAULT CHARSET=gbk;


后经搜索“USING BTREE”,

发现这是MYSQL 5.1的一个BUG,其出现原因是mysql 5.1和mysql 5.0在处理到索引语句时有所区别,

出现了不兼容的情况,在Mysql 5.1中建有UNIQUE KEY 的表导出时是这个样子的“KEY `pkey` (`pkey`) USING BTREE”,

而Mysql 5.0处理的时候只能识别“KEY `pkey` USING BTREE (`pkey`)”。因此需要改一下Key的位置。

网上还有解决方法是先把UNIQUE KEY 改成普通索引,导好后再改回来,这种解决办法适用于建有UNIQUE KEY 的表较多的情况。


  评论这张
 
阅读(2343)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018