码迷,mamicode.com
首页 > 数据库 > 详细

mysql中因为版本问题导致using tree导入失败

时间:2015-07-12 21:41:56      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

前段时间因为想自己在家搭建一个工作上的环境,所以就把sql测试库数据导入自己电脑上,但是用Navicat导入的时候,设置的是‘遇到错误继续’,然后等运行sql语句结束后查询导入的结果,只有3个表导入成功。

  然后从导入窗口查询问题,只有几张表导入成功,然后其他都是XX表不存在,然后再sql文件中找到建表语句,放在navicat运行窗口执行,就发现问题所在了,是因为


DROP TABLE IF EXISTS `agency_template`;

CREATE TABLE `agency_template` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) NOT NULL COMMENT ‘代理商的id‘,
`template_id` int(10) NOT NULL COMMENT ‘使用的模版编号‘,
`logo_filename` varchar(256) NOT NULL,
`logo_addr` varchar(512) NOT NULL DEFAULT ‘‘ COMMENT ‘logo图片地址‘,
`alias_url` varchar(256) CHARACTER SET latin1 NOT NULL COMMENT ‘定制的url‘,
`create_at` int(11) NOT NULL,
`last_update_at` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uid` (`uid`)  USING HASH,
KEY `alias_url` (`alias_url`) USING BTREE 
) ENGINE=InnoDB AUTO_INCREMENT=187 DEFAULT CHARSET=utf8;

就是这两句:

UNIQUE KEY `uid` (`uid`)  USING HASH,
KEY `alias_url` (`alias_url`) USING BTREE 

需要修改成:

UNIQUE KEY `uid`  USING HASH (`uid`),
KEY `alias_url` USING BTREE (`alias_url`)  

 

在公司就可以导入成功,但是在自己电脑不可以,只是因为mysql版本的问题

(经过:由于从navicat导出的时候是整个数据库导出的,所以sql文件很大,有1.2G,然后写程序将其分解成酶10000行一个文件就可以打开了,其实完全没必要,直接在navicat错误提示框就可以看到错误所在,不过这样也写了分解代码,还是有用的,接下来就是根据写的分解读取的程序将USING HASH和USING TREE的位置替换掉就可以了)

 

mysql中因为版本问题导致using tree导入失败

标签:

原文地址:http://www.cnblogs.com/timestorm/p/4641517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!