MYSQL Json 字段操作疑问

2021-09-02 11:10:54 +08:00
 seagull7558

目前数据操作需要将很多个平台或是系统的用户信息合并到一张表里

我的表字段为:

用户名 年龄 性别 身份信息 业务属性字段(JSON)

导入其他平台用户的 SQL 语句:

INSERT INTO sys_user_information (基本属性 A,基本属性 B,基本属性 C,业务属性 JSON)
SELECT 基本属性 A,基本属性 B,基本属性 C
       JSON_OBJECT(
               '业务属性 A',
               业务属性 A
           )
FROM A 平台.sys_user;

但是这样做的时候会导致 如果 A 平台用户业务属性 A 为 null 插入 JSON{"post": null}到表里

现在想要使用一个或多个 SQL 删除 值为 null 的 key 请问该如何操作呢,还请各位不吝赐教,蟹蟹~

注:暂不考虑 JSON_OBJECT 函数中添加判断这种解决方法

1321 次点击
所在节点    MySQL
3 条回复
seagull7558
2021-09-02 14:16:27 +08:00
啊这 是问题太冷门了吗? 竟然没回复
NjcyNzMzNDQ3
2021-09-02 16:08:46 +08:00
1 、尽量规避删除操作,合并数据时用 when case 处理 null 。

2 、删 null 的 json key 可以用 mysql 函数 json_extract(live_room, '$.url'),或者 like/regexp null 的数据。
liuidetmks
2021-09-02 18:58:42 +08:00
写程序吧,sql 完成复杂操作有点困难

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799416

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX