文档解释
Error number: 3153; Symbol: ER_JSON_VACUOUS_PATH; SQLSTATE: 42000
Message: The path expression ‘$’ is not allowed in this context.
:
报错信息: ER_JSON_VACUOUS_PATH: Invalid use of a vacuous path (other than ‘$**’) in the LIKE pattern.
错误说明:
MySQL错误编号 3153 代表了一个名为 ER_JSON_VACUOUS_PATH 的SQLSTATE(42000),通常表明在LIKE模式中使用了一个不正确(除“$ **”外)的消除路径。
常见案例
当在LIKE模式中使用一个非’$**’消除路径时,就会出现这个错误。例如,当执行如下查询语句时:
SELECT JSON_EXTRACT(‘{“x”: “y”}’, ‘$.x LIKE “y”‘)
就会回显 ER_JSON_VACUOUS_PATH 错误。
解决方法:
为了解决这个错误,您需要删除LIKE模式中的消除路径,并直接比较JSON文档中的值。例如:
SELECT JSON_EXTRACT(‘{“x”: “y”}’, ‘$.x = “y”‘)