适应情况
当我们从github或者gitee上下载一些web开源项目的时候会附带sql文件用于导入数据库,有时候假如说用Navicat或者直接在命令行中使用source命令导入,会出现部分或者全部报错的情况,如下图
解决方法
情况一:编码格式不同
- 1、在Navicat中选择并打开对应数据库之后,右击数据库名字点击打开新建查询
- 2、在桌面上建立一个文本文档,之后点击左上角另存为,这时候关键点在于将下方的编码从原本的UTF-8调整为ANSI,并保存,此时这个记事本便成为了ANSI格式
- 3、之后通过记事本的方式打开会报错的sql文件,将里面内容全部复制进,刚刚创建的那个修改为ANSI格式的记事本中
- 4、之后,把那个格式为ANSI格式的记事本中的内容,再次复制进入新建查询中,并点击运行就可以了
情况二:数据库版本不同(占比较大可能)
版本问题常常出现在高版本Mysql数据导入低版本Mysql中
举一个简单的例子,比如报错Unknown collation: ‘utf8mb4_0900_ai_ci’
其原因就是由于Mysql在进行迭代的时候对于不同的字符集叫法也不同了
这个时候只要把脚本中的一些词批量替换就可以了,网上教程很多,这里不多说了
这个类型是版本报错中最好的情况
emmm,像其他情况就比较难解决,可能会有很多有关关键字之类的冲突等等,假如可以联系到作者,可以让作者使用Navicat自带的数据传输功能让高版本兼容低版本Mysql,假如要自行修改里面的sql代码,需要根据报错直接搜既可,大多数情况下也是和上面那个字符问题很类似的,但是由于不确定因素比较多,这里我的推荐解决方案是装对应版本或者高版本的Mysql
一些小想法:情况一是作者自己解决一些数据库问题时,发现的一个解决方法,可能不一定百分百有效,是这次主要想说的,假如ANSI格式不行可以试试别的常见的格式哈,情况二是看网上有关这种高兼低的技术手段已经比较全了,所以就不具体说了,希望能解决大家的问题吧:>
版权归原作者 炫拽霸气吊炸天 所有, 如有侵权,请联系我们删除。