Maison > Article > base de données > Comment puis-je trouver un objet JSON spécifique par valeur clé à l'aide de MySQL JSON_TABLE() ?
MySQL JSON : recherche d'objets par valeur clé
Lorsque vous travaillez avec des objets JSON dans MySQL, vous pouvez rencontrer des situations dans lesquelles vous devez rechercher un objet spécifique dans les données JSON à l'aide d'une clé d'un autre objet. Cela peut être une tâche difficile sans les fonctions appropriées. Dans cet article, nous discuterons d'un moyen efficace d'y parvenir en utilisant JSON_TABLE().
La syntaxe de JSON_TABLE() est la suivante :
<code class="sql">JSON_TABLE(expression, path_expression COLUMNS *(expression_list))</code>
Dans ce cas, nous avons un Structure JSON similaire à celle fournie dans la question d'origine, où nous avons un tableau d'objets contenant des paires clé-valeur. Nous voulons récupérer l'objet avec la valeur spécifiée à partir d'une clé tout en recherchant sur une autre clé.
En utilisant JSON_TABLE(), nous pouvons écrire la requête comme suit :
<code class="sql">SELECT field_options.* FROM fields CROSS JOIN JSON_TABLE(options, '$[*]' COLUMNS( text TEXT PATH '$.text', value TEXT PATH '$.value' ) ) field_options WHERE field_options.value = 1;</code>
Voici comment procéder fonctionne :
Le résultat sera être une table contenant l'objet correspondant du tableau JSON.
Cependant, il convient de se demander si l'utilisation de JSON est la solution optimale pour ce type de données. Si vos données peuvent être représentées plus efficacement dans une structure de table relationnelle normalisée, il peut être préférable d'éviter d'utiliser JSON. Cela peut simplifier les tâches d'interrogation et de maintenance.
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!