gpt4 book ai didi

mysql - json_search 抛出错误 MySQL - #2014 - 命令不同步;你现在不能运行这个命令

转载 作者:行者123 更新时间:2023-11-29 18:06:56 25 4
gpt4 key购买 nike

我正在使用 json_search 从列中搜索 json 格式的数据。对于普通的 json 数据来说,它工作得很好。但如果字符串有双引号,则不起作用。

MySQL 查询

SELECT JSON_SEARCH(user_information, 'one', '%name%', null, '$[*].label');

它对于常规 json 数据工作正常,但对于存储在单列数据库中的以下数据不起作用。

查询不起作用的数据示例:

[{ 
"name":"John Smith",
"value":"John",
"label":"Sm"ith"
}]


这是db-fiddle对于这个例子。

正如您在数据中看到的,对于标签键,字符串是 sm"ith,我刚刚在字符串中间添加了一个双引号,然后在 db-fiddle 上显示以下错误。

Invalid JSON text in argument 1 to function json_search: "Missing a comma or '}' after an object member."

但在我的本地主机上,它显示以下错误。


2014 - Commands out of sync; you can't run this command now

最佳答案

您必须使用双反斜杠转义序列,请参阅Creating JSON Values .

mysql> SELECT JSON_VALID('
'> [
'> {
'> "name":"John Smith",
'> "value":"John",
'> "label":"Sm"ith"
'> }
'> ]
'> ') `is_json_valid?`;
+----------------+
| is_json_valid? |
+----------------+
| 0 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT JSON_VALID('
'> [
'> {
'> "name":"John Smith",
'> "value":"John",
'> "label":"Sm\\"ith"
'> }
'> ]
'> ') `is_json_valid?`;
+----------------+
| is_json_valid? |
+----------------+
| 1 |
+----------------+
1 row in set (0.00 sec)

关于mysql - json_search 抛出错误 MySQL - #2014 - 命令不同步;你现在不能运行这个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751910/

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