ノードの MYSQL で JSON_SET をクエリするための正しい構文
P粉903052556
2023-08-31 20:22:09
<p>Node から MYSQL テーブルの JSON 配列を設定/更新する必要があるのですが、<code>無効な JSON パス式</code> エラーをスローするクエリがあります。
たとえば、キー <code>2022-01-03</code> を持つオブジェクトを検索し、存在する場合は、その値を <code>O 08:00</code></p> に更新したいとします。
<pre class="brush:php;toolbar:false;">すべての従業員を更新 SET スケジュール = 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"}] ]
リーリー
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=2c59600049b4dfc1675c444a6da578bb
パス
"2022-01-03"
にはダッシュが含まれており、二重引用符で囲む必要があります。設定する値は上位値ではなく、クリア配列要素の構成要素です。