更新Mysql Json列

rn0zuynd  于 2023-03-11  发布在  Mysql
关注(0)|答案(1)|浏览(117)

示例data列具有
{“默认帐户”:188,“默认部门-207”:948}

update user_preference 
    set data = JSON_REMOVE(data,'$.default_bu-207')
where JSON_EXTRACT(data,'$.default_bu-207') = 948

对于此查询,我收到错误
无效的JSON路径表达式。
错误位于字符位置16附近。*
尝试转义-,但仍引发相同的错误

csbfibhn

csbfibhn1#

https://dev.mysql.com/doc/refman/8.0/en/json.html表示:

JSON路径语法

...
键的名称必须是双引号字符串或有效的ECMAScript标识符(请参见ECMAScript语言规范中的标识符名称和标识符)。
由于密钥名称包含标点字符,因此必须使用双引号:

... JSON_REMOVE(data,'$."default_bu-207"') ...

相关问题