如何从MySQL json列中删除空键
我有一个带有json字段的简单MySQL表。出于某种原因,json字段包含一个空键,我需要删除它 我所拥有的: id name info 1 scott {"": "", "key": "value"} 2 joe {"": "", "key2": "value2"} 3 ed {"": "", "key3": "value3"} 这是有效的,但仅适用于值为空的情况。然而,这是行不通的如何从MySQL json列中删除空键,mysql,json,Mysql,Json,我有一个带有json字段的简单MySQL表。出于某种原因,json字段包含一个空键,我需要删除它 我所拥有的: id name info 1 scott {"": "", "key": "value"} 2 joe {"": "", "key2": "value2"} 3 ed {"": "", "key3": "value3"} 这是有效的,但仅适用于值为空的情况。然而,这是行不通的 update t1 set info = JSON_REMOVE(i
update t1 set info = JSON_REMOVE(info, '$.""');
示例数据使用以下选项:
更新
`t1`
设置
`信息`=
JSON\u合并\u补丁(
JSON_对象(),
JSON_集(
替换(
`信息“,”:“,”空“:”
),
“$.null”,
无效的
)
);
请参阅。这将教会您首先在所有JSON上放置有效属性。您使用的是MySQL 5.7吗@StackSlave-对吗?谁会想到mysql不会检查有效的json。json标准允许空字符串作为键tho?
update t1 set info = REPLACE(info, '"": "",', '');
update t1 set info = JSON_REMOVE(info, '$.""');