mysql - 在 MySQL 中使用一些 JSON 列加载查询得到 {无效的 JSON 文本 : "Invalid value." at position 0 in value for column }

标签 mysql

我正在尝试将文件加载到 MySQL 中,但出现错误,如 ERROR 3140 (22032): Invalid JSON text: "Invalid value."在列值的位置 0。文件中的数据如下所示,

id,name,jfield1,jfield2
1,"A","{\"Key1\": 100,\"key2\": \"Abc\"}","{}"
2,"B","{\"Key1\": 101,\"key2\": \"Def\"}","{}"

我的 table :

CREATE TABLE `test` (
  `id` int(3) DEFAULT NULL,
  `name` varchar(10) DEFAULT NULL,
  `jfield1` json NOT NULL,
  `jfield2` json NOT NULL
) ;

加载查询:

mysql> load data local infile "/home/user/sample.csv" into table test fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';
ERROR 3140 (22032): Invalid JSON text: "Invalid value." at position 0 in value for column 'test.jfield1'.
mysql>

如果我使用 insert 将数据直接插入到表中,则数据插入正确。

mysql> insert into test (id,name,jfield1,jfield2) values (1,"A","{\"Key1\": 100,\"key2\": \"Abc\"}","{}");
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (id,name,jfield1,jfield2) values (1,"B","{\"Key1\": 110,\"key2\": \"Def\"}","{}");
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+------+------+------------------------------+---------+
| id   | name | jfield1                      | jfield2 |
+------+------+------------------------------+---------+
|    1 | A    | {"Key1": 100, "key2": "Abc"} | {}      |
|    1 | B    | {"Key1": 110, "key2": "Def"} | {}      |
+------+------+------------------------------+---------+
2 rows in set (0.00 sec)

mysql>

请有人告诉我查询中有什么问题。提前致谢!

最佳答案

检查参数的顺序。

关于mysql - 在 MySQL 中使用一些 JSON 列加载查询得到 {无效的 JSON 文本 : "Invalid value." at position 0 in value for column },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50384932/

相关文章:

java - Servlet 中未找到 MySQL 连接器类

mysql - 尝试修改 MySQL 中的表时出错

当 Magento 同时被 300 个用户攻击时 mysql 消失了

mysql - 通过表连接优化慢速 Lon/Lat 查询

php - 发送批量短信中途停止

mysql - 如何并行更新 MySQL(MyISAM) 表?

java - 如何知道mysql表中数据被更新(即数据删除、修改或插入),从而更新java中的json对象

php - 我想根据页面 ID 从多个表中获取数据到我的结账页面

java - 如何从数据库中检索特定列等于一组字符串的记录?

python - 语法错误: invalid syntax in python mysql login