今天晚上闲着没事,突然想起还有一台半年的服务器没用。(是之前阿里云做活动弄的),本着折腾的精神,把最近在整理的一个java项目扔上去跑(最近研究springmvc+hibernate来着)。结果突然发现一个很神奇的问题,正常情况下,我本机复制数据库到其他机器,直接用navicat导出成sql,然后连接其他机器再导入即可。但是不知为啥,我将本地数据导出成sql之后,在服务器的数据上新建一个同名和编码一致的数据库,导入sql文件却全部报错。我都一脸懵逼了。绝对不是什么编码或者格式什么问题。因为我两台机器的数据库,用的都是我本地的navicat连接的,一个是localhost,一个是服务器ip。
郁闷的是也没啥报错信息,就说无法执行sql。于是我打开导出的sql文件看了下,很正常的sql,也根本没啥问题。下面是其中一段,都是ok的。如果有表就先删除,然后创建。
DROP TABLE IF EXISTS `t_edu_classes`; CREATE TABLE `t_edu_classes` ( `f_id` varchar(32) NOT NULL, `f_createDate` datetime DEFAULT NULL, `f_name` varchar(20) DEFAULT NULL, `f_updateDate` datetime DEFAULT NULL, `f_professionId` varchar(32) DEFAULT NULL, PRIMARY KEY (`f_id`), KEY `FK_s3jhem33ngllp8xtnuowloecd` (`f_professionId`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;无奈之下,只好打开navicat的查询,新建一个查询,然后将上面的sql拷贝过去。然后就显示success.......
最后我把整个sql复制过去,run一下,居然就行了.....到现在都还不知道是为什么。
