mysql - 无法在 MySQL 中读取 JSON 数据
问题描述
当我读取 JSON 数据时 -
示例查询:
SELECT *
FROM
JSON_TABLE(
CONCAT('[', '351615,12345678', ']'),
"$[*]"
COLUMNS(
ids BIGINT(20) PATH "$"
)
) AS tt
错误 :
“数组元素后缺少逗号或 ']'。” 在位置 2。
00
当我在整数前面删除时,它会给出正确的结果。
SELECT *
FROM
JSON_TABLE(
CONCAT('[', '351615,12345678', ']'),
"$[*]"
COLUMNS(
ids BIGINT(20) PATH "$"
)
) AS tt
输出:
351615
12345678
有人可以建议我缺少什么吗?
解决方案
试试下面的查询,它正在工作:
SELECT * FROM JSON_TABLE('[{"x":"00351615","y":"2"}]',"$[*]" COLUMNS(xval VARCHAR(100) PATH "$.x",yval VARCHAR(100) PATH "$.y")) AS tt;
数据类型应该是 varchar 而不是 bigint,因为带有 '00' 前缀的值不能存储在 bigint 中。
推荐阅读
- c++ - C++ 需要一个容器来存储用户定义的函数
- java - 在另一个事务中延迟加载集合?
- javascript - 使用不同方法重构函数 - javascript
- java - 用于简单 Java Servlet 4 应用程序的 Maven 原型
- python - 进一步优化简单的cython代码
- ionic-framework - 如何在 IonicFramework 中选择特定的数组对象?
- java - org.springframework.orm.ObjectOptimisticLockingFailureException 与 microsoft 驱动程序而不是 jtds 驱动程序
- python - Python Zillow API 调用
- three.js - 将对象添加到场景后如何更新宽度、高度?三.PlaneGeometry(width,height,1,1)
- cxf - 具有 NTLM 身份验证的 Maven cxf-codegen-plugin - 因 java.io.IOException 失败:服务器返回 HTTP 响应代码:URL 为 401