gpt4 book ai didi

mysql - 删除 key :value from json string stored in a MySQL database

转载 作者:可可西里 更新时间:2023-11-01 06:57:21 26 4
gpt4 key购买 nike

我在表中有一列以以下格式存储:

{"field1":"val1","field2":"val4"}
{"field1":"val2","field2":"val5"}
{"field1":"val3","field2":"val6"}

我需要删除所有带值的 field1(例如 "field1":"val1","field1":"val2","field1":"val3"),结果应该是

{"field2":"val4"}
{"field2":"val5"}
{"field2":"val6"}

我正在尝试通过替换来实现这一点,但卡在“"field1":"val1"'中,字符串 val1 可以是任何值,例如 null,一些整数。

UPDATE emp SET col = REPLACE(col, '"field1":"val1"', '')

由于 val1 的这个动态值,我被卡住了。

最佳答案

我更愿意使用 JSON_REMOVE 函数 (MySQL):

UPDATE emp
SET emp.col = JSON_REMOVE(emp.col, '$.field1');

您还可以添加 WHERE 子句:

WHERE emp.col LIKE '%val6%';

引用文献: MySQL JSON_REMOVEMySQL JSON path

带有示例的博文: MySQL for your JSON

还有一条关于 MySQL 中 json 路径的注释:

Propery names in path must be double quoted if the property identifier contains interpunction (spaces, special characters, meta characters) bugs.mysql.com

关于mysql - 删除 key :value from json string stored in a MySQL database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35724999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com