如何使用MySQL查询创建和插入JSON对象?

时间:2016-12-02 11:12:18

标签: mysql json

我试图创建一个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 个答案:

答案 0 :(得分:6)

在创建表格时,将字段设置为 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或更高版本仅支持。