线上导出的sql文件在本地导入Naviact的时候数据和数据表导入不全;当时的问题是建库和表的数据结构编码有误导致,当时没有记录;但是最近又遇到了类似的问题,但错误不是之前的的那个;今天特意记录下来,我想也会有人会遇到这个问题
错误原因1:是Navicat 导出的sql文件的编码或者是数据库选择的有问题;
解决办法:统一两个库表的编码和结构即可;
错误原因2:在mysql 5中,默认的是REAL_AS_FLOAT,PIPES_AS_CONTACT,ANSI_QUOTES,GNORE_SPACE和ANSI,
在这种模式下,允许插入超过字段长度的值,只是插入后,返回的是警告而不是错误,当用STRICT_TRANS_TABLES时,
则是错误了,严格的警告;
解决办法:更改严格模式,执行下列sql后再导入sql文件;
SET sql_mode = ”;
SET GLOBAL sql_mode = ”;
注意:
当用”SET sql_mode=””时,mysql清除的默认的模式信息,
但是这也有一个问题,那就mysql不会作入侵检测,错误提示,
这就要求程序员在进行sql操作的时候更加小心。可以将上面sql加入到sql文件中先执行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处: