select id,name,age from person where id=1;
此查询提供如下结果
id | name | age
1 |manoj | 20
我想要一个类似下面的JSON
"{"id":1,"name":"manoj","age":5}"
我想要一个动态的方式。当我从另一个表中尝试另一个查询时,结果就像之前的JSON一样
我想从表中生成JSON并存储到MYSQL中的列中,我不想使用php或其他服务器端语言来生成此JSON。
如何在MYSQL中获取JSON?
答案 0 :(得分:2)
使用JSON_OBJECT()
功能:
SELECT JSON_OBJECT('id', id, 'name', name, 'age', age)
FROM person
WHERE id = 1;
这至少需要MySQL 5.7或MariaDB 10.2.3,即所有与JSON相关的功能都已添加。
如果您不想将列名硬编码到查询中,则需要编写一个创建动态SQL的存储过程,使用INFORMATION_SCHEMA.COLUMNS
获取所有列名。
答案 1 :(得分:0)
查看JSON数据类型和JSON函数。如果column是JSON数据类型并且insert字符串是JSON格式,那么它也很容易插入和检索。