it编程 > 编程语言 > Javascript

mysql实现动态查询表字段方式(返回JSON格式)

29人参与 2026-03-15 Javascript

准备测试配置表

drop table if exists `field_config`;
create table `field_config`  (
  `text` varchar(255) character set utf8 collate utf8_general_ci null default null
) engine = innodb auto_increment = 5 character set = utf8 collate = utf8_general_ci row_format = dynamic;

insert into `field_config` values ('area_id');
insert into `field_config` values ('parent_id');
insert into `field_config` values ('area_name');
insert into `field_config` values ('area_type');

准备测试数据表

drop table if exists `ks_areas`;
create table `ks_areas`  (
  `area_id` smallint(6) unsigned not null auto_increment comment '地区id',
  `parent_id` smallint(6) unsigned not null default 0 comment '地区父id',
  `area_name` varchar(120) character set utf8 collate utf8_general_ci not null default '' comment '地区名称',
  `area_type` tinyint(1) not null default 2 comment '地区类型 0:country,1:province,2:city,3:district',
  primary key (`area_id`) using btree,
  index `parent_id`(`parent_id`) using btree,
  index `area_type`(`area_type`) using btree
) engine = innodb auto_increment = 3429 character set = utf8 collate = utf8_general_ci row_format = dynamic;

insert into `ks_areas` values (1, 0, '中国', 0);
insert into `ks_areas` values (2, 1, '北京', 1);
insert into `ks_areas` values (3, 1, '安徽', 1);
insert into `ks_areas` values (4, 1, '福建', 1);
insert into `ks_areas` values (5, 1, '甘肃', 1);
insert into `ks_areas` values (6, 1, '广东', 1);
insert into `ks_areas` values (7, 1, '广西', 1);

编写查询语句

set @var = '1';
set @var1 = (select concat('json_object\(',group_concat(concat('\'',text,'\',',text)),'\)') from field_config);
set @strsql = concat('select ',@var1,' from ks_areas where area_id >', @var);
prepare stmt from @strsql;
execute stmt;

返回结果为:

新增表字段之后处理方式

第一步新增表字段

alter table ks_areas add test varchar(20) comment '测试字段';

第二步新增配置表字段

insert into field_config value('test');

第三步 重新执行查询语句即可。

返回结果为:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

Flutter中JavaScript与Dart实现双向通信的方案

03-12

MySQL中JSON数据存储的最佳实践指南(直接存储 vs 文件路径存储)

03-09

jsbridge、postMessage、scheme三种通信方式的区别以及安卓ios的实现方式

03-08

mysql + nest.js  加锁搞并发问题的实现

03-08

C#中Newtonsoft.Json 到 System.Text.Json 迁移避坑指南

03-05

Postgresql导入几何数据(shp,geojson)的几种方式

02-08

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论