【发布时间】:2021-10-25 15:41:16
【问题描述】:
我有 MySQL 5.7 和带有 json 列数据的 table1。
SELECT id, data
FROM table1;
| id | data |
|---|---|
| 1 | {'key3': 'value3'} |
| 2 | {'key5': 'value5'} |
我可以使用:
UPDATE `table1` as `t1`
SET `t1`.`data` = JSON_MERGE_PATCH(`t1`.`data`, JSON_OBJECT('key1', 'value1', 'key2', 'value2'));
我会得到:
| id | data |
|---|---|
| 1 | {'key3': 'value3', 'key1': 'value1', 'key2': 'value2'} |
| 2 | {'key5': 'value5', 'key1': 'value1', 'key2': 'value2'} |
如何从子查询中获取数据并使用它生成JSON_MERGE_PATCH?
来自表 2:
| id | key | value |
|---|---|---|
| 1 | 'key10' | 'value10' |
| 2 | 'key13' | 'value13' |
| 3 | 'key100' | 'value100' |
我尝试使用
SELECT key, value FROM table2
用JSON_ARRAY等改成JSON_MERGE_PATCH,但是不正确。
子查询以“键、值”结构返回 table2 中的行。
预期数据:
| id | data |
|---|---|
| 1 | {'key3': 'value3', 'key10': 'value10', 'key13': 'value13', 'key100': 'value100'} |
| 2 | {'key5': 'value5', 'key10': 'value10', 'key13': 'value13', 'key100': 'value100'} |
【问题讨论】:
-
您的预期结果是什么?
-
我在帖子中添加了预期的数据
标签: mysql mysql-json