正确的语法来在Node中查询MYSQL中的JSON_SET
P粉903052556
P粉903052556 2023-08-31 20:22:09
[MySQL讨论组]

我需要从Node设置/更新MYSQL表中的JSON数组,我有这个查询,它会抛出一个Invalid JSON path expression错误。 例如,我想要找到键为2022-01-03的对象,如果存在,则将其值更新为O 08:00

UPDATE allemployees SET schedule = JSON_SET(schedule, '$.2022-01-03', 'O 08:00') WHERE name_cyr = 'John Doe'

我的表中的JSON如下:

[{"2022-01-03": "H 08:00"}, [{"2022-01-04": "H 08:00"}] ]

P粉903052556
P粉903052556

全部回复(1)
P粉851401475
UPDATE allemployees
SET schedule = JSON_SET(schedule, '$[0]."2022-01-03"', 'O 08:00') 
WHERE name_cyr = 'John Doe';

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=2c59600049b4dfc1675c444a6da578bb

  1. 路径"2022-01-03"包含破折号,必须用双引号括起来。

  2. 要设置的值不是上级值,而是明确数组元素的组成部分。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号