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タブとキャッシュページを切り替えるいくつかの方法

推薦する

CentOS 8 VMware 仮想マシンがインターネットにアクセスするための静的 IP ネットワーク カードの設定の詳細な説明

最初のステップ: VMwareで、「編集」-「仮想ネットワークエディタ」をクリックします。下図に示す...

MySQL 8.0.11 MSI バージョンのインストールと構成のグラフィック チュートリアル

この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...

JavaScript 配列を走査する 5 つの方法

目次1. forループ: 基本的でシンプル2. forEach() メソッド: コールバック関数の使...

Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法

同僚からよく聞かれるのですが、ファイル/ディレクトリを削除すると「操作は許可されていません」というエ...

eject を使用せずに create-react-app の設定を変更する方法

1. イジェクトが推奨されないのはなぜですか? 1. eject を実行した後、どのような変化があり...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について...

CocosCreatorのホットアップデートの包括的な説明

目次序文ホットチェンジとはCocos Hot アップデートの概要マニフェストプロジェクトリソースとゲ...

配列をフィルタリングするJavaScript

この記事では、配列フィルタリングを実装するためのJavaScriptの具体的なコードを参考までに紹介...

ネイティブ JavaScript でショッピングカートを実装する

この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します

ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...

Bootstrap 3.0 学習ノート CSS関連補足

この記事の主な内容は次のとおりです。 1. ブラウザのサポート2. 画像3. レスポンシブツール4....

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...