JSONオブジェクトを作成してから、その値をMySQLテーブルに読み取ろうとしています。しかし、私はエラーに直面しており、JSONとMySQLの両方に不慣れです。
SET @j = '{"key1": "value1", "key2": "value2"}';
CREATE TABLE Person (name int,id int);
INSERT INTO Person (name,id) SELECT * FROM OPENJSON(@j) WITH (name int,id int);
テーブルの作成時に、フィールドを[〜#〜] json [〜#〜]データ型として設定します。
CREATE TABLE `person` (
`name` json DEFAULT NULL
);
そして、それにJSONデータを挿入し、
INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');
またはKey:ValueでJSONデータを挿入します
INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');
JSONデータを選択し、
SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');
注:MySQL 5.7 InnoDB以降のバージョンのみがサポートされます