mysql - mysql更新json属性和一个查询中的另一列
问题描述
我需要更新列中的 json 值以及更新同一查询中的另一列。
像这样的东西:
UPDATE fixtures
SET jsonResults = '{}',
JSON_SET(jsonFixture, '$.time_status', '0')
WHERE intRefID = 88961323;
我怎样才能做到这一点?
解决方案
JSON_SET()
返回 JSON 文档值,但 UPDATE 语句需要一系列赋值表达式:
UPDATE fixtures
SET jsonResults = '{}',
jsonFixture = JSON_SET(jsonFixture, '$.time_status', '0')
WHERE intRefID = 88961323;
在该文档中设置一个字段后,这将替换jsonFixture
为 , 的结果。JSON_SET()
与这样的 UPDATE 进行比较:
UPDATE mytable
SET i = i + 1
WHERE ...
它取 的值i
,加 1,然后使用该加法表达式的结果来替换i
。
推荐阅读
- python - Base64.encode 字符串在 python 中不起作用,键入错误:内存视图:需要类似字节的对象
- typescript - Typescript 2.8+:如何捕获动作创建者并将其映射到动作处理程序?
- java - multipart/form-data 端点是否在服务器上创建临时文件
- node.js - Firebase数据库如何防止并发读取?
- hyperledger-fabric - 通道上没有锚节点可以吗?
- python - 如何取消暂存/恢复未应用的迁移?
- asp.net - 如何根据 HeaderName 将“Textmode”动态设置为 gridview 列
- batch-file - BATCH 无法加入变量
- c++ - std::_USE 未定义
- java - 如何使用反射以编程方式禁用设备自动时区值