导入sql文件报 USING BTREE 错误解决办法

错误 
  在往服务器 上部署项目,运行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, CONSTRAINT tb_roles_menus_ibfk_1 FOREIGN KEY (menu_id) REFERE’ at line 5;
  翻译过来为:您的SQL语法有错误;请查看对应于MySQL服务器版本的手册,以获取在“USING BTREE;
  
原因
  意思就是说两个数据库版本不一致,导致错误,后来经过查询发现,mysql 5.1版本有错误;和mysql 5.0以及其他版本在处理到索引语句时有所区别,才会报这种错,后来又用两种版本的导出sql文件 ,专门对比了下
  如图:
  MySql5.1.6版本
  导入sql文件报 USING BTREE 错误解决办法_第1张图片
  mysql-5.6.44版本
  导入sql文件报 USING BTREE 错误解决办法_第2张图片
  两边的语句有明显差别。
  
解决办法
1.删除主键primary KEY 主键id后的 USING BTREE;
2.修改 KEY role_id (role_id) USING BTREE, 语句格式为KEY role_id USING BTREE (role_id),错误得到解决。
(如有不对 ,欢迎指正)

你可能感兴趣的:(数据库)