2016-12-02 2 views
0

Я пытаюсь создать объект JSON, а затем читать значения из него в таблицу MySQL. Но я сталкиваюсь с ошибками, и я новичок в 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); 
+1

OPENJSON используется в sqlserver (T-SQL), вы отметили свой вопрос mysql. Вы используете? –

+0

im using mysql 5.6 или ms sql server 2008 @JeanDoux –

ответ

1

При создании таблицы установите поле JSON типа данных.

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

и вставить JSON данные в него,

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

или вставить 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 или более поздняя версия.

+0

«У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« json DEFAULT NULL ») в строке 2 «это ошибка, с которой я сталкиваюсь –

+0

MySQL 5.7 поддерживает только InnoDB или более высокие версии. – saravanabawa

Смежные вопросы