美文网首页
mysql 5.7 json 使用备忘

mysql 5.7 json 使用备忘

作者: 无忧默言 | 来源:发表于2017-09-05 15:59 被阅读0次

    mysql 5.7+版本支持json类型字段,提供了 JSON_SET等方法操作json属性,实践如下:

    • 并非一定得是json类型才可以使用5.7特性函数进行json查询,longtext、varchar都可以;
    • 使用longtext或者json类型时,navicat查询时,无法展现这些字段需要添加JSON_UNQUOTE或者使用->>
    //只能查出ID列
    SELECT id,  (task_params),task_params->'$.aa'  FROM ext_task   ;
    //可以查出三列结果
    SELECT id,  JSON_UNQUOTE(task_params),task_params->>'$.aa'  FROM ext_task   ;
    
    
    • 采用JSON_SET等方法修改属性值时,如果存放的为数组,需要使用JSON_ARRAY生成,否则存储的为字符串,JSON_OBJECT类似
    //正确方式
    UPDATE ext_task SET task_params = JSON_SET(task_params, '$.aa', JSON_ARRAY(' Mysql', 'Database'))  WHERE id = 1;
    //错误方式
    UPDATE ext_task SET task_params = JSON_SET(task_params, '$.aa', '[ "Mysql", "Database"]'  WHERE id = 1;
    

    详情请参阅:官方文档网址

    相关文章

      网友评论

          本文标题:mysql 5.7 json 使用备忘

          本文链接:https://www.haomeiwen.com/subject/aroujxtx.html