mysql中的字段可以使用json的格式来进行存储。
这个是表的设计: 注意最后一个字段的格式是json格式。
CREATE TABLE `memberbase` (
`id` varchar(33) CHARACTER SET utf8 NOT NULL COMMENT '用户ID',
`realName` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '真实姓名',
`gender` char(1) CHARACTER SET utf8 DEFAULT NULL COMMENT '性别 M/F',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`roleName` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '角色',
`status` int(11) unsigned NOT NULL DEFAULT '1' COMMENT '状态 1:有效 2:禁用 -1:删除',
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updatedAt` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`extraData` json DEFAULT NULL COMMENT '拓展信息',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `indexs_memberID_status` (`id`,`status`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='memberBase';
在extraData字段里面存的json格式是:
{"record": {"levelInfo": {"level": 0, "activedTime": null}, "buyLevelCount": 0, "finishPlanCount": 0}, "version": "1.0.0"}
通过下面方式可以获取json字段里面的值:
json_unquote(extraData->'$.record.levelInfo.level')
结构体接收:
ExtraData string `orm:"extraData" json:"extra_data"`
参考:【MySQL】对JSON数据操作(全网最全)_asd529735325的博客-CSDN博客_mysql操作json