json_searchがエラーをスローするMySQL-#2014-コマンドが同期していません。現在、このコマンドを実行することはできません

オンカー

json_searchを使用して、列からjson形式のデータを検索しています。通常のjsonデータの場合、正常に機能しています。ただし、文字列に二重引用符が含まれている場合は機能しません。

MySQLクエリ

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

通常のjsonデータでは正常に機能しますが、単一列データベースに格納されている以下のデータでは機能しません。

クエリが機能していないデータの例:

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


ここで、DB-フィドルこの例では。

データからわかるように、ラベルキ​​ーの文字列はですsm"ith文字列の中央に二重引用符を1つ追加したところ、db-fiddleで以下のエラーが表示されています。

関数json_searchの引数1のJSONテキストが無効です:「オブジェクトメンバーの後にコンマまたは「}」がありません。」

しかし、私のローカルホストでは、以下のエラーが表示されます。


2014-コマンドが同期していません。現在、このコマンドを実行することはできません

リトルボーイ

ダブルバックスラッシュエスケープシーケンスを使用する必要があります。JSON値の作成を参照してください

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)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ