开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
在上文我们来学习了如何更新和删除数据,今天来讲一下如何从本地文件导入数据
首先看看现在Users表中数据,在上文中我们删除了数据,现在只剩一条,接下来我们来批量导入多条数据
导入
LOAD DATA LOCAL INFILE '/home/sql.txt' INTO TABLE Users;
首先进入docker容器,随便找个目录简历sql.txt文件,我选了在/home/sql.txt这个路径,默认的mysql容器并没安装vim,可以按照下面命令安装vim
apt-get update
apt-get install vim
然后写入数据到sql.txt, 数据如下和表中的数据结构对应起来
导入的时候发生了错误,错误提示如下:
ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides
意思是当前mysql客户端配置不允许导入本地数据
需要在配置文件中/etc/mysql/my.cnf 开启允许加载本地文件的功能
[mysqld]
local-infile
[mysql]
local-infile
修改完成之后可以重启一下容器,让配置生效
接下来再次运行加载本地文件命令
LOAD DATA LOCAL INFILE '/home/sql.txt' INTO TABLE Users;
我们可以看到发送一个错误,数据都被当做一条数据插入到name中
原来在写入sql.txt的数据需要按照制表符分割。
我们重新写入一条数据,再次插入试试,这次就成功插入数据了
其他文章
在线等,后端悄悄改了接口文档被我抓住了怎么办?
和后端对线 | 前端如何保存base64字符串为文件
释放生产力 | Yapi,swagger2,swagger3生成请求代码
什么?在React中也可以使用vue响应式状态管理
clean-js | 在hooks的时代下,使用class管理你的状态
clean-js | 手把手教你写一个羊了个羊麻将版
有没有一种可能,你从来都没有真正理解async