首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何修改存储在Table Column中的JSON字符串的属性值?

如何修改存储在Table Column中的JSON字符串的属性值?
EN

Stack Overflow用户
提问于 2018-03-22 01:33:11
回答 2查看 0关注 0票数 0

我的JSON字符串存储在我的数据库列中。我必须在JSON字符串中更新该值。

这是我的表。

我的表像
我的表像

我想更新state它里面的值。

例:

Name1的状态值为KA,因此我想将其更新为GJ。

EN

回答 2

Stack Overflow用户

发布于 2018-03-22 09:54:54

12.16 JSON函数 ... 除非另有说明,否则JSON函数会添加到MySQL 5.7.8中。 ...

尝试:

代码语言:javascript
复制
UPDATE `Customer`
SET `Detail` = JSON_REPLACE(`Detail`, '$.Address.State', 'GJ')
WHERE `Name` = 'name1';
票数 0
EN

Stack Overflow用户

发布于 2018-03-22 11:27:32

JSON函数是在MySQL 5.7.8中添加的。

  1. 升级
  2. 取出列,解析并更。

这可能看起来像这样:

代码语言:javascript
复制
// fetch the details
$sth = $pdo->prepare('select `Detail` from `Customer` where `Name` = ?');
$sth->execute(['name1']);

$detail = json_decode($sth->fetchColumn(), true);

// modify the state
$detail['Address']['State'] = 'KA';

// update the details
$sth = $pdo->prepare('update `Customer` set `Detail` = ? where `Name` = ?');
$sth->execute([json_encode($detail), 'name1']);

但我建议只要可能就升级你的MySQL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档