MySQL Error number: 3153; Symbol: ER_JSON_VACUOUS_PATH; SQLSTATE: 42000

文档解释

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”‘)

你可能感兴趣的