查询以连接 MySQL 中的两个 json 数组?

Posted

技术标签:

【中文标题】查询以连接 MySQL 中的两个 json 数组?【英文标题】:Query to concatenate two json arrays in MySQL? 【发布时间】:2021-12-30 06:19:17 【问题描述】:

我有一个 json 数据类型的列,其值类似于“[1,2,3,4]”,并且想要将“[5,6]”之类的值添加到这个 json 数组中。检查并遇到 连接运算符,即 || 。我正在尝试类似 update user_roles set roles = (roles|| '[111]') where id=?1; 的东西。 期望的结果:-'[1,2,3,4,5,6]' 给出下面提到的错误:错误代码:3156。CAST 到 DOUBLE 列角色的 JSON 值无效

【问题讨论】:

【参考方案1】:

来自12.18.4 Functions That Modify JSON Values的列表

您可以使用:select json_merge_preserve('[1,2,3,4]','[5,6]');

这将输出:[1, 2, 3, 4, 5, 6]

【讨论】:

以上是关于查询以连接 MySQL 中的两个 json 数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AND 查询 MYSQL 中的 JSON 数组

当从 MySQL 数据库动态加载元素时,在 PHP 中连接 2 个 JSON 数组

Laravel查询以输出json数据作为选择列表。如何修改现有代码以连接两个值

一个对象json中的两个查询mysql

mysql原生语句where数组条件查询

Mysql 子查询 - 需要在两个类似查询之间建立连接以计算邮政编码和邮政编码的出现次数