mysql - 我如何添加名称 : value pair to an existing mysql stored json object

标签 mysql json keyvaluepair

如何将新属性添加到存储在 mysql 表列中的 json 对象?现在我将 json_encode 数据存储为:

"1":{"lastname":"blah","firstname":"R.A.","function":"Manager","email":"test@hotmail.com","barcode":"33432799181"}  

我想添加一个新的数据对,vised:0,我想在有人被访问后立即更新。

"1":{"lastname":"blah","firstname":"R.A.","function":"Manager","email":"test@hotmail.com","barcode":"33432799181", "visited":"0"}

如何将元素推送到现有的 json 数据?

$jsondataTmp = json_decode($core,true);
$custom = array('visited'=>'0');
$jsondataTmp[] = $custom;

但它添加了一个数组而不是在每个数组中

  [1] => Array
        (
            [lastname] => blah
            [firstname] => R.A.
            [function] => Manager
            [email] => test@hotmail.com
            [barcode] => 33432799181
        )

    [2] => Array
        (
           [lastname] => blah
            [firstname] => R.A.
            [function] => Manager
            [email] => test@hotmail.com
            [barcode] => 33432799181
        )

    [3] => Array
        (
            [visited] => 0
        )

而不是

[2] => Array
            (
               [lastname] => blah
                [firstname] => R.A.
                [function] => Manager
                [email] => test@hotmail.com
                [barcode] => 33432799181
[visited] => 0
            )

最佳答案

MySQL 不原生支持 JSON - MySQL 仍然是纯 RDBMS 系统。

目前一个简单的破解方法是使用 REPLACE 函数。

UPDATE table_name
SET column_name = REPLACE ( column_name, "}", ',"visited":"0"}';

关于mysql - 我如何添加名称 : value pair to an existing mysql stored json object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21511926/

相关文章:

Javascript jQuery json 每个

ios - 从键值对数组创建键数组

java - Resultset(java.sql)对象生成一次结果集后不获取数据

mysql - 如何从我的用户表中获取逗号分隔值?

javascript - Moment.js 从 MySQL 日期时间返回错误值

ruby-on-rails - Rabl、Jbuilder 还是手动 json 构建 API?

json - Nifi - 忽略(或删除)JSON 的第一个数字

elixir - 在 elixir 中将两个相同大小的列表转换为键值对

java - 有没有更简单的方法在另一个 HashMap 中的 HashMap 中创建列表?

sql - mySQL 高性能请求在另一个请求的每一行的每一列中发出计数请求