我有MySQL表,我喜欢填充加载数据infile。
其中一个列是JSON类型,我想要上传整个json字符串。问题是上传json字符串似乎很难,我得到了:
Invalid utf8 character string: '{'
我的CSV文件中的一行:
25621943694,john,johnny,ACTIVE,organization,1234,{\”name\”: \”cicd-prod\”},2016-10-22 16:57:36
我的加载数据声明:
LOAD DATA LOCAL INFILE 'test123.csv'
INTO TABLE projects
FIELDS TERMINATED BY ',' (project_number,project_id,project_name,lifecycle_state,parent_type,parent_id,raw_project,create_time);
答案 0 :(得分:1)
在JSON中,根据the ECMA standard,“字符串是一系列用引号括起来的Unicode代码点(U + 0022)。”
您的CSV未使用U+0022。它正在使用U+0201D - Right Double Quotation Mark。它甚至没有正确地使用它们,因为我无法用足够的智能引用 - “智能”引用;它使用右侧和左侧的正确引用。
这些报价必须转换回无聊的旧U + 0022 - 引号。而且您需要与生成该CSV的任何人聊天。一个过于热心的Office应用程序也可能会破坏它。