mysql - MySQL LOAD DATA INFILE csv 列数据与换行符
问题描述
我想将 CSV 数据导入 MySQL 数据库,下面是我的 CSV 文件的示例行数据:
"9C5435D89FCA5E19E0532107A8C074BD","12341234","20180411 163616","ABC","12341234;Testing data.
TestingData.","1"
如您所见,第 5 列有换行符(Unix EOL,即 LF),当我导入它时,我得到了ERROR 1261 (01000): Row 2 doesn't contain data for all columns
下面是我的LOAD DATA INFILE
LOAD DATA INFILE '/opt/mysql/files/table.csv'
INTO TABLE table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(@uuid,col2,@date,col4,col5,col6)
SET col1= UUID_TO_BIN(@uuid),col4 = STR_TO_DATE(@date, '%Y%c%d %H%i%s');
我试图设置LINES TERMINATED BY '\r\n'
,但又出现了一个错误ERROR 1406 (22001): Data too long for column 'col6' at row 1
我已经指定了ENCLOSED BY '"'
,这不应该防止我现在面临的问题吗?虽然有换行符,但还是用 括起来""
,MySQL 应该把它当作列数据而不是新行数据不是吗?
有没有办法解决这个问题?我无法更改 CSV 数据,因为数据中包含换行符。table.csv
使用spool
命令从 Oracle DB 导出。
解决方案
推荐阅读
- ios - AWS Amplify - 如何在注册流程中重新发送确认码
- python - 为什么将图像从目录附加到 np.array 后,数组的形状大于图像形状的总和?
- python - 我有一个元组列表,需要删除每个具有与其他元组重叠的整数值的元组
- android - 可绘制资产不会链接android
- go - 从 golang 脚本中检索带有空格的 Github 机密
- excel - 创建设置 x 轴最小值和最大值的宏,但要在最小最大值单元格更改值时调用宏
- python-3.x - 如何从 pdoc 隐藏 3rd 方导入?
- xml - 由于 XML 命名空间,XSLT 代码未运行
- python - 没有足够的值来解压(预期为 3,得到 1)python 中的 LDA 模型
- php - 我需要在域上创建 Cookie 并在子域上获取它