首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSON格式的MySQL更新字段

JSON格式的MySQL更新字段
EN

Stack Overflow用户
提问于 2016-05-06 20:18:23
回答 2查看 1.1K关注 0票数 2

如何更新和复制同一个表中的数据,但新数据是JSON格式的数据。

我希望更新后的字段是:{"t":"token1","s":"secret1"}

DB user_api表:

代码语言:javascript
复制
(id) (token) (secret) (api)
---------------------------
 1   token1  secret1  NULL

更新查询:

代码语言:javascript
复制
UPDATE user_api SET api = '{"t":"' +token+ '", "s":"' +secret+ '"}';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-06 20:22:48

使用CONCAT

代码语言:javascript
复制
UPDATE user_api SET api = CONCAT('{"t":"', token, '", "s":"', secret, '"}');
票数 4
EN

Stack Overflow用户

发布于 2018-06-04 03:54:08

请改用JSON_SET()函数。

代码语言:javascript
复制
UPDATE `user_api` SET `api` = JSON_SET(`api`,'$.t',token,'$.s',secret) WHERE ...

这将帮助您摆脱所有CONCAT的东西。如果指定字段中不存在键,则JSON_SET()函数插入键/值对。如果它存在,则该函数将更新值。

如果键不存在,想要插入,可以使用JSON_INSERT()函数。或者,如果您只想在密钥存在的情况下更新值,则可以使用JSON_REPLACE()函数。

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

https://stackoverflow.com/questions/37072256

复制
相关文章

相似问题

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