Maison  >  Questions et réponses  >  le corps du texte

Syntaxe correcte pour interroger JSON_SET dans MYSQL dans Node

<p>Je dois définir/mettre à jour un tableau JSON dans une table MYSQL à partir de Node et j'ai cette requête qui renvoie une erreur <code>Expression de chemin JSON invalide</code> Par exemple, je souhaite rechercher l'objet avec la clé <code>2022-01-03</code> et s'il existe, mettre à jour sa valeur en <code>O 08:00</code></p> <pre class="brush:php;toolbar:false;">UPDATE allemployees SET planning = JSON_SET(schedule, '$.2022-01-03', 'O 08:00') WHERE name_cyr = 'John Doe' ≪/pré> <p>Le JSON dans mon tableau est le suivant :</p> <pre class="brush:php;toolbar:false;">[{"2022-01-03" : "H 08:00"}, [{"2022-01-04" : " H 08:00"}] ]≪/pre>≪/p>
P粉903052556P粉903052556416 Il y a quelques jours442

répondre à tous(1)je répondrai

  • 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. Le chemin"2022-01-03" contient des tirets et doit être placé entre guillemets doubles.

    2. La valeur à définir n'est pas la valeur supérieure, mais le composant de l'élément de tableau explicite.

    répondre
    0
  • Annulerrépondre