MySQL更新JSON列时遭遇无效JSON路径表达式错误的解决求助
MySQL JSON列更新时路径含特殊字符的解决方法
你遇到的错误是因为JSON键名default_bu-207里的横杠被MySQL的JSON路径解析器当成了减法运算符,导致路径表达式无效,直接转义横杠没用,得用双引号把带特殊字符的键名包裹起来。
修正后的SQL语句如下:
update user_preference set data = JSON_REMOVE(data,'$."default_bu-207"') where JSON_EXTRACT(data,'$."default_bu-207"') = 948
原理很简单:MySQL的JSON路径规则里,当键名包含-、空格、.这类特殊字符时,必须用双引号将键名包裹,这样解析器才会把整个字符串识别为一个完整的键名,而不会把横杠当成运算符号处理。
内容的提问来源于stack exchange,提问作者Hemant singh
相关产品推荐
相关产品推荐

