数据库中的表导入csv文件时,出现此类报错如何解决

2020-05-05  本文已影响0人  Clover_9fd3

报错类型:

第一种:

由于secure-file-priv引起的报错


由于secure-file-priv引起的报错.png

第二种:

由于插入数据不同而引起的报错


由于插入数据不同而引起的报错.png

解决步骤:

一、查看数据库

可以使用http://localhost/phpmyadmin/,输入账户名:root,密码,就可以登录自己的数据库。(localhost后面有无端口号,取决于你当时下载appach是否有更改端口号,若无更改则后面无需添加端口号)
下面就是我新建的数据库:school

数据库.png

二、查看表

school数据库里面有两个表:class表和stu表;class表里面有数据,stu表里面无数据。
如果要通过命令行查看表里的数据,命令是:select * from 表名


class表.png
stu表.png

三、向stu表里面导入csv

(1)将表另存为另存为csv(逗号分隔)的格式

下图是我需要导入stu表里面的数据


需要导入stu表里面的数据.png

首先将表另存为另存为csv(逗号分隔)的格式


另存为csv(逗号分隔).png

(2)用记事本打开此表,另存为编码为utf-8

用记事本打开我们刚才保存的“学生表.csv”文件


学生表.csv.png

检查数据有没有错误,若无错误,将此数据另存为编码为utf-8


另存为编码为utf-8.png

(3)向stu表导入学生表.csv

第一步:选择我们刚才保存的“学生表.csv”文件
第二步:选择格式“CSV using LOAD DATA”

第三步:字段分隔符:,(一定要是英文状态下的“,”,不能是中文状态下的“,”)

第四步:选择“执行”


导入步骤.png

下面就是最重要的步骤:

第一个错误:secure-file-priv

这时候导入就会报错


报错.png

原因是因为不兼容,--secure-file-priv这一选项导致表导入时无法执行此语句
解决办法:
我们安装好的Appserv,进入MySQL文件夹,找到my.ini


my.ini所在位置.png

用笔记本打开my.ini,根据报错提示,找到secure-file-priv这一行


找到secure-file-priv.png
这时候将这一行修改为:secure-file-priv=""
保存后,一定要重启数据库,否则此修改不生效!!

找到任务管理器,服务,找到mysql,右击,重新启动


mysql.png
第二个错误:数据不同

这时候重复上面导入“学生表.csv”文件的步骤
这时候导入就会报错


报错.png

原因是我的class表导入的stuclass数据和stu表导入的stuclass数据不一样,所以导致导入“学生表.csv”文件失败。(class表导入的stuclass数据:计算机应用技术3-3班;stu表导入的stuclass数据:计算机应用3-3班)


class表导入的stuclass数据:计算机应用技术3-3班.png
stu表导入的stuclass数据:计算机应用3-3班.png

这时候选择修改class表导入的stuclass数据或者是stu表导入的stuclass数据都可以
我选择的是修改stu表导入的stuclass数据


stu表导入的stuclass数据.png

最后,再次重复上面导入“学生表.csv”文件的步骤
导入“学生表.csv”文件成功


成功导入.png

结果:


成功的界面.png
上一篇下一篇

猜你喜欢

热点阅读