WSL(Ubuntu18.04)のMariaDBでJSONを保存したいと思ったが、Ubuntu18.04のaptコマンドでインストールされるMariaDBのバージョンは10.1で、JSONデータ型が使用できるのは10.2以降(JSON Data Type)。そこで現時点の最新安定版10.4をインストールしてJSONを登録できるようにする。
WSL(Ubuntu18.04)。
MariaDBのサイト(MariaDB Package Repository Setup and Usage)に、新しいバージョンのMariaDB用リポジトリをセットアップするスクリプトが用意されている。それをダウンロードして、MariaDB Serverのバージョン10.4を指定して実行する。
作成されたリポジトリ設定ファイルを確認。MariaDB Serverの設定でバージョンが10.4になっている。
aptコマンドで確認するとインストールされるバージョンが10.4になっている。
リポジトリのセットアップができたら、aptコマンドで通常通りにインストールできる。
インストールされたMariaDB Clientのバージョンを確認。
MariaDB Serverもバージョン10.4がインストールされた。
JSON Data Typeによると、バージョン10.2.7で追加されたデータ型であるJSONはLONGTEXTのエイリアス。JSON以外のテキストが登録されるのを防ぐためにJSON_VALIDという関数が用意されており、CHECK制約として使える。ただし、10.4.3以上ではJSONデータ型を使うときにはこの制約が自動で適用されるらしい。
今回インストールしたバージョンは10.4.12だが、CHECK制約をつけて試してみる。まずはMariaDBに接続してテーブルを作成。JSONデータ型のdataカラムはLONGTEXTになっている。
JSONでなくただのテキストをINSERTしようとするとエラーになる。
JSONをINSERTしてみる。
JSONデータ型の使い方についてはJSON を扱う – MariaDB Serverが参考になる。
環境
WSL(Ubuntu18.04)。
リポジトリのセットアップ
MariaDBのサイト(MariaDB Package Repository Setup and Usage)に、新しいバージョンのMariaDB用リポジトリをセットアップするスクリプトが用意されている。それをダウンロードして、MariaDB Serverのバージョン10.4を指定して実行する。
作成されたリポジトリ設定ファイルを確認。MariaDB Serverの設定でバージョンが10.4になっている。
aptコマンドで確認するとインストールされるバージョンが10.4になっている。
MariaDB10.4のインストール
リポジトリのセットアップができたら、aptコマンドで通常通りにインストールできる。
インストールされたMariaDB Clientのバージョンを確認。
MariaDB Serverもバージョン10.4がインストールされた。
MariaDBでJSONデータ型を使う
JSON Data Typeによると、バージョン10.2.7で追加されたデータ型であるJSONはLONGTEXTのエイリアス。JSON以外のテキストが登録されるのを防ぐためにJSON_VALIDという関数が用意されており、CHECK制約として使える。ただし、10.4.3以上ではJSONデータ型を使うときにはこの制約が自動で適用されるらしい。
今回インストールしたバージョンは10.4.12だが、CHECK制約をつけて試してみる。まずはMariaDBに接続してテーブルを作成。JSONデータ型のdataカラムはLONGTEXTになっている。
JSONでなくただのテキストをINSERTしようとするとエラーになる。
JSONをINSERTしてみる。
JSONデータ型の使い方についてはJSON を扱う – MariaDB Serverが参考になる。
0 件のコメント:
コメントを投稿