从服务器出的sql文件导入到本地Navicat报错

版本问题:一般原因就是服务器上mysql或者navicat版本较低,导出来的sql文件的sql语句不兼容本地高版本的。

解决思路:找到错误的地方,改成高版本的SQL语法支持的写法。最常见的高低版本区别在于创建表的sql。

从服务器上导下来的是这样的:

-- ----------------------------
-- Table structure for tab_user_inf
-- ----------------------------
DROP TABLE IF EXISTS `tab_user_inf`;
CREATE TABLE "tab_user_inf" (
  "USER_ID" varchar(20) NOT NULL,
  "USER_NAME" varchar(80) DEFAULT NULL,
  "USER_NICKNAME" varchar(80) DEFAULT NULL,
  "LOGIN_NAME" varchar(80) DEFAULT NULL,
  "USER_PASSWORD" varchar(60) DEFAULT NULL,
  "SEX" varchar(20) DEFAULT NULL,
  "BIRTH_DATE" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  "EMAIL" varchar(999) DEFAULT NULL,
  "MOBILE_PHONE" varchar(80) DEFAULT NULL,
  "POSITION" varchar(80) DEFAULT NULL,
  "LAST_LOGIN_TIME" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  "DESCRIPTION" varchar(20) DEFAULT NULL,
  "DEPARTMENT_ID" varchar(20) DEFAULT NULL,
  "STATUS_FLAG" varchar(20) DEFAULT NULL COMMENT '状态,0-正常,1-冻结',
  "CREATE_TIME" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  "DELETE_TIME" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY ("USER_ID"),
  UNIQUE KEY "INDEX_LOGINNAME" ("LOGIN_NAME") USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



但本地正常的sql是这样的:

-- ----------------------------
-- Table structure for tab_user_inf
-- ----------------------------
DROP TABLE IF EXISTS `tab_user_inf`;
CREATE TABLE `tab_user_inf` (
  `USER_ID` varchar(20) NOT NULL,
  `USER_NAME` varchar(80) DEFAULT NULL,
  `USER_NICKNAME` varchar(80) DEFAULT NULL,
  `LOGIN_NAME` varchar(80) DEFAULT NULL,
  `USER_PASSWORD` varchar(60) DEFAULT NULL,
  `SEX` varchar(20) DEFAULT NULL,
  `BIRTH_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `EMAIL` varchar(999) DEFAULT NULL,
  `MOBILE_PHONE` varchar(80) DEFAULT NULL,
  `POSITION` varchar(80) DEFAULT NULL,
  `LAST_LOGIN_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `DESCRIPTION` varchar(20) DEFAULT NULL,
  `DEPARTMENT_ID` varchar(20) DEFAULT NULL,
  `STATUS_FLAG` varchar(20) DEFAULT NULL COMMENT '状态,0-正常,1-冻结',
  `CREATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `DELETE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`USER_ID`),
  UNIQUE KEY `INDEX_LOGINNAME` (`LOGIN_NAME`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


发现区别了吗?

服务器上导下来的sql里的是双引号",但本地的sql是`(键盘左上角Esc下面的那个键`(请切换到英文输入法))


解决办法:把服务器导下来的sql中的所有的双引号"替换成`即可


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值