使用 MySQL 查询创建和插入 JSON 对象
假设您尝试创建 JSON 对象并将其值读取到 MySQL 表中,但遇到错误。提供的代码旨在创建一个 JSON 对象并使用它来填充 Person 表:
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 数据类型:
使用 JSON 数据类型的名称列创建 Person 表。
CREATE TABLE `person` ( `name` json DEFAULT NULL );
插入 JSON 值:
有两个选项可用:
数组语法:使用方括号将 JSON 数据作为数组插入。
INSERT INTO `person` (`name`) VALUES ('["name1", "name2", "name3"]');
Key:Value 语法: 使用大括号和键值对插入 JSON 数据。
INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
选择 JSON 数据:
使用检查名称列中是否匹配的查询检索 JSON 数据。
SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');
请注意,此功能是仅在使用 InnoDB 的 MySQL 版本 5.7 或更高版本中受支持。
以上是如何创建 JSON 对象并将其插入 MySQL 表中?的详细内容。更多信息请关注PHP中文网其他相关文章!