LOAD DATA INFILE不适用于在字段数据中包含编码的JSON值的CSV

问题描述 投票:0回答:1

我有数百万条记录要插入mysql表。为了将数据快速迁移到表中,我尝试使用LOAD DATA INFILE概念。

下面是CSV文件中的数据格式(某些字段具有JSON数据)。

"1299","1420070400000","35520","1420070400000","0","0","0","2","null","{""types"": [3]}","{""types"": [2]}","{""type"": 0, ""color"": 0, ""types"": [1], ""colors"": [2]}","null","null","null","null","{""type"": 0, ""types"": [], ""sexDrive"": 0, ""sexDrives"": [1]}","null","{""results"": [2]}","{""types"": [3]}","null","null","null","{""types"": [5]}","null","null","null","null","null","null","null","null","2020-01-30 11:48:07","2020-01-30 11:48:07"

"1300","1420070400000","48219","1420070400000","0","0","0","2","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","2020-01-30 11:48:07","2020-01-30 11:48:07"

"1301","1420070400000","34938","1420070400000","0","0","0","2","null","null","null","{""type"": 0, ""color"": 0, ""types"": [1], ""colors"": [3]}","null","null","{""types"": [2]}","{""pain"": 0, ""pains"": [2], ""otherPains"": [3, 4, 5, 6], ""breastSymptom"": false, ""breastSymptoms"": [1]}","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","2020-01-30 11:48:07","2020-01-30 11:48:07"

[当我尝试执行代码时,它显示如下错误-

SQLSTATE [22032]:<>:3140无效的JSON文本:“在对象成员后缺少逗号或'}'。在列'user_day_record.notesObj']的值中位于位置42

[基本上,当我尝试在CSV中执行不带JSON值的相同命令时,它运行完美。但是在文件中使用JSON数据(在某些字段中)会产生错误。

这里是命令-

LOAD DATA LOCAL INFILE '$file' INTO TABLE user_day_record CHARACTER SET UTF8 FIELDS TERMINATED BY ', ' LINES TERMINATED BY '\n' 

任何人都可以通过CSV文件中的字段中的json值帮助我成功执行命令吗?

更新-

这里是user_day_record表的结构-

user_day_record_table

我有数百万条记录要插入mysql表。为了将数据快速迁移到表中,我尝试使用LOAD DATA INFILE概念。以下是CSV文件中的数据格式(某些具有...

php mysql json csv load-data-infile
1个回答
0
投票

这里是加载包含JSON对象的CSV文件的解决方案。以下是我们必须用于导入的其他选项

以','结尾的字段可选地用'\''括起来用“ \”转义被'\''转义行以'\ n'结尾

© www.soinside.com 2019 - 2024. All rights reserved.