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);
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.