当前位置:Gxlcms > 数据库问题 > mysql中因为版本问题导致using tree导入失败

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

时间:2021-07-01 10:21:17 帮助过:2人阅读

前段时间因为想自己在家搭建一个工作上的环境,所以就把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导入失败

标签:

人气教程排行