搜尋

首頁  >  問答  >  主體

正確的語法來在Node查詢MYSQL中的JSON_SET

<p>我需要從Node設定/更新MYSQL表中的JSON數組,我有這個查詢,它會拋出一個<code>Invalid JSON path expression</code>錯誤。 例如,我想要找到鍵為<code>2022-01-03</code>的對象,如果存在,則將其值更新為<code>O 08:00</code></p> <pre class="brush:php;toolbar:false;">UPDATE allemployees SET schedule = JSON_SET(schedule, '$.2022-01-03', 'O 08:00') WHERE name_cyr = 'John Doe' </pre> <p>我的表中的JSON如下:</p> <pre class="brush:php;toolbar:false;">[{"2022-01-03": "H 08:00"}, [{"2022-01-04": " H 08:00"}] ]</pre></p>
P粉903052556P粉903052556470 天前492

全部回覆(1)我來回復

  • P粉851401475

    P粉8514014752023-09-01 14:07:18

    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. 要設定的值不是上級值,而是明確數組元素的組成部分。

    回覆
    0
  • 取消回覆