› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
seagull7558
V2EX  ›  MySQL

MYSQL Json 字段操作疑问

  •  
  •   seagull7558 · Sep 2, 2021 · 2158 views
    This topic created in 1855 days ago, the information mentioned may be changed or developed.

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

    我的表字段为:

    用户名 年龄 性别 身份信息 业务属性字段(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 函数中添加判断这种解决方法

    3 replies  •  2021-09-02 18:58:42 +08:00
    seagull7558
        1
    seagull7558  
    OP
       Sep 2, 2021
    啊这 是问题太冷门了吗? 竟然没回复
    NjcyNzMzNDQ3
        2
    NjcyNzMzNDQ3  
       Sep 2, 2021
    1 、尽量规避删除操作,合并数据时用 when case 处理 null 。

    2 、删 null 的 json key 可以用 mysql 函数 json_extract(live_room, '$.url'),或者 like/regexp null 的数据。
    liuidetmks
        3
    liuidetmks  
       Sep 2, 2021
    写程序吧,sql 完成复杂操作有点困难
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:51 · PVG 06:51 · LAX 15:51 · JFK 18:51
    ♥ Do have faith in what you're doing.