我有一个 MySQL 表,我喜欢用加载数据填充文件。
其中一列是 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);
最佳答案
在 JSON 中,根据 the ECMA standard ,“字符串是用引号括起来的 Unicode 代码点序列 (U+0022)。”
您的 CSV 未使用 U+0022 。它正在使用 U+0201D - Right Double Quotation Mark 。它甚至没有正确使用它们,因为我不能在“智能”引号周围放置足够的智能引号;它对右侧和左侧都使用正确的引号。
这些引号必须转换回无聊的旧 U+0022 - 引号。您需要与生成该 CSV 的人进行聊天。也有可能是过度热心的 Office 应用程序损坏了它。
关于mysql - 如何将 JSON 字符串加载到 JSON 列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147438/