Maison >base de données >tutoriel mysql >mysql comment mettre à jour le champ json
Comment utiliser MySQL pour mettre à jour un champ JSON ?
Pour mettre à jour un champ JSON dans MySQL, utilisez la fonction JSON_SET(). Cette fonction prend deux arguments : un chemin JSON (précisant l'emplacement du champ à mettre à jour) et la nouvelle valeur.
Par exemple, pour mettre à jour le champ nom de l'objet utilisateur dans le document JSON suivant :
<code>{ "user": { "name": "John Doe", "age": 30 } }</code>
Vous utiliseriez la requête suivante :
<code>UPDATE table_name SET json_field = JSON_SET(json_field, '$.user.name', 'Jane Doe') WHERE ...;</code>
Comment mettre à jour efficacement plusieurs valeurs dans un champ JSON dans MySQL ?
Pour mettre à jour efficacement plusieurs valeurs dans un champ JSON dans MySQL, utilisez la fonction JSON_REPLACE(). Cette fonction prend deux arguments : un chemin JSON (spécifiant l'emplacement du champ à mettre à jour) et la nouvelle valeur. La nouvelle valeur peut être un objet JSON, un tableau ou un scalaire.
Par exemple, pour mettre à jour les champs nom et âge de l'objet utilisateur dans l'exemple précédent, vous utiliserez la requête suivante :
<code>UPDATE table_name SET json_field = JSON_REPLACE(json_field, '$.user', JSON_OBJECT('name', 'Jane Doe', 'age', 31)) WHERE ...;</code>
Quelle est la syntaxe de mise à jour d'un champ JSON imbriqué dans MySQL ?
Pour mettre à jour un champ JSON imbriqué dans MySQL, utilisez la fonction JSON_SET() avec un chemin JSON imbriqué. Un chemin JSON imbriqué est un chemin JSON qui contient un point (.) pour séparer les noms de champs imbriqués.
Par exemple, pour mettre à jour le champ rue de l'objet adresse dans l'objet utilisateur dans l'exemple précédent, vous devez utilisez la requête suivante :
<code>UPDATE table_name SET json_field = JSON_SET(json_field, '$.user.address.street', '123 Main Street') WHERE ...;</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!