web-dev-qa-db-fra.com

Comment créer et insérer un objet JSON à l'aide de requêtes MySQL?

J'essaie de créer un objet JSON, puis de lire les valeurs de celui-ci dans la table MySQL. Mais je fais face à des erreurs et je suis nouveau sur JSON et 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);
8
rj_23495

Lors de la création de la table, définissez votre champ comme JSON type de données.

CREATE TABLE `person` (
  `name` json DEFAULT NULL
);

Et insérez-y des données JSON,

INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');

Ou insérer des données JSON par clé: valeur

INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');

Sélectionnez les données JSON,

SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');

Remarque: MySQL 5.7 InnoDB ou une version supérieure ne prend en charge que.

11
saravanabawa