【问题标题】:Correct syntax for MYSQL query to JSON_SET in NodeMYSQL 查询到 Node 中 JSON_SET 的正确语法
【发布时间】:2022-01-27 08:04:32
【问题描述】:

我需要从 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"}] ]

【问题讨论】:

    标签: mysql json


    【解决方案1】:
    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. 要设置的值不是上位值,是确定数组元素的组成部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 2017-07-15
      • 2020-02-03
      • 2017-07-26
      • 1970-01-01
      相关资源
      最近更新 更多