Recherche de données JSON codées dans MySQL
Vous avez rencontré des difficultés lors de l'interrogation de données codées JSON dans MySQL. Notamment, votre requête MySQL actuelle renvoie des résultats incohérents lorsque vous tentez de récupérer des clés égales à "1" avec des valeurs différentes de "3".
Solution pour les versions MySQL >= 5.7
Si vous utilisez MySQL version 5.7 ou ultérieure, vous pouvez utiliser la fonction JSON_EXTRACT pour effectuer une recherche efficace dans les données JSON. La syntaxe de cette fonction est :
JSON_EXTRACT(JSON_DOCUMENT, JSON_PATH)
Dans votre cas spécifique, pour rechercher la clé "1" avec une valeur qui exclut "3", vous pouvez utiliser la requête suivante :
SELECT JSON_EXTRACT(`attribs_json`, "$.feature.1.value") AS `value` FROM `products` WHERE JSON_EXTRACT(`attribs_json`, "$.feature.1.value") NOT LIKE "%3%"
Cette requête renverra un enregistrement si la valeur associée à la clé "1" ne contient pas la chaîne "3".
Supplémentaire Ressources
Pour un aperçu plus complet des fonctions de recherche JSON dans MySQL, reportez-vous au manuel de référence officiel de MySQL :
https://dev.mysql.com/doc/refman/ 5.7/fr/json-search-functions.html
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!