MySQL の JSON 挿入の問題

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON 型のサポートが開始されました。この型には次の利点があります。

  • 保管中の自動検証、検証に失敗した場合にはエラー報告
  • より優れたストレージ構造。内部構造は、すばやく読み取ることができる JSON テキスト要素を格納するために使用されます。新しいサーバーは、JSON テキストを文字列として読み取って変換するのではなく、バイナリ形式で読み取ります。このバイナリ形式により、サーバーは値全体を読み取ることなく、テキスト内のキーまたは配列インデックスによってサブオブジェクト (ネストされた配列) を取得できます。

さらに、システムでは JSON 形式に関していくつかの制限があります。

  • JSON テキストの最大長は、システム定数 max_allowed_pa​​cket によって決まります。この値は、サーバーがデータを保存している場合にのみ制限されます。メモリ内で計算する場合は、この値を超えてもかまいません。
  • JSON列にはデフォルト値を設定できません
  • 他のバイナリ列と同様に、JSON 列はインデックスを作成できません。ただし、JSON 列に格納されているテキストから、特定のテーブル列の値にインデックスを作成することはできます。 MySQL 最適コントローラーは、JSON 表現を使用して作成されたインデックスもクエリします。

jsonデータを挿入する際に問題が発生しました

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、'{

コードを挿入

`players` (`id`,`player_and_games`) に値(1,{ を挿入します。
  "id":1,
  "名前":"aaa",
  「プレイしたゲーム」:{
    「戦場」:{
      "武器":"adsf",
      「レベル」:20
    },
    "クレイジー":{
      "武器":"adsf",
      「レベル」:20
    }
  }
})

問題があります。json は引用符を使用していません。正しい方法は次のとおりです。

`players` (`id`,`player_and_games`) に値(1,'{ を挿入します。
  "id":1,
  "名前":"aaa",
  「プレイしたゲーム」:{
    「戦場」:{
      "武器":"adsf",
      「レベル」:20
    },
    "クレイジー":{
      "武器":"adsf",
      「レベル」:20
    }
  }
}')

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL 5.7 における基本的な JSON 操作ガイド
  • MySQL 5.7 JSON 型の使用の詳細
  • Mysql5.7 で JSON 操作関数を使用する手順
  • MySQL 5.7 JSON形式の取得に関する簡単な説明
  • mysql5.6 以前のデータベースで json をクエリする方法
  • MySQLにおけるJSON系列操作関数の詳しい説明
  • MySQL 操作: JSON データ型の操作
  • MySQL (5.6 以下) の JSON 解析の詳細な例
  • mysql5.7 の新しい json フィールド タイプの使用例の分析

<<:  ES6分解課題の原理と応用

>>:  Vueタブとキャッシュページを切り替えるいくつかの方法

推薦する

CentOS7でXShellとネットワーク設定を接続する方法

1. Linuxネットワーク構成ネットワークを構成する前に、まずローカル IPv4 アドレスやデフォ...

Reactの新バージョンのライフサイクルフック機能と使用方法の詳細な説明

旧ライフサイクルと比較して 3つのフックが廃止され、2つの新しいフックが追加されましたReact16...

MySQL 8.0 のインデックス スキップ スキャン

序文MySQL 8.0.13 では、インデックス スキップ スキャン (インデックス ジャンプ スキ...

CSS3 のディスプレイのグリッドレイアウトとフレックスレイアウトの詳細な説明

Gird レイアウトは Flex レイアウトといくつかの類似点があり、どちらもコンテナーの内部項目を...

Docker Composeを使用してDOCleverをインストールする詳細なプロセスを説明します

目次1. Docker Composeとは何か、インストールして使用する方法2. DOCleverと...

MySQLの自動増分主キーIDはこのように処理されません

MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

原因不明のMySqlサービス消失の解決策

原因不明のMySqlサービス消失の解決策先ほど、MySQL-Front が突然 MySql を開けな...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

高品質なウェブページのデザイン方法 高品質なウェブページ(画像とテキスト)のデザイン経験

オープンプラットフォームの増加に伴い、そこから派生するさまざまなアプリケーションサービスも増加傾向に...

ウェブページを作る前に、これらのいわゆる仕様を見てみましょう

この記事では、Web ページを作成する前に確認すべき、いわゆる仕様をいくつかまとめました。皆様のお役...

MySQL 8.0 Windows zip パッケージ版の詳細なインストール手順

MySQL 8.0 Windows zipのインストール手順は次のように紹介されています。準備する:...

Vuexの補助関数の使い方

目次マップ状態マップゲッターマップミューテーションマップアクション複数のモジュールマップ状態 ...

HTMLフロートの使用法の簡単な分析

float の使用例左サスペンション: float:left;右サスペンション: float:rig...

CSSラベル表示モードについて1つの記事で学ぶ

タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...