Vous essayez d'effectuer une recherche dans les données JSON stockées dans votre base de données MySQL. Même si vous utilisez une requête basée sur REGEXP, elle ne donne pas les résultats souhaités. Explorons une approche plus efficace.
Solution pour les versions MySQL >= 5.7
MySQL 5.7 et les versions ultérieures fournissent la fonction JSON_EXTRACT, qui vous permet de rechercher directement éléments spécifiques dans les données JSON. Pour trouver des clés égales à "1" avec des valeurs autres que "3", vous pouvez utiliser la requête suivante :
SELECT JSON_EXTRACT(attribs_json, '$.feature."1".value') AS attribs_json_value FROM products WHERE JSON_EXTRACT(attribs_json, '$.feature."1".value') != '["3"]'
Cela extraira la valeur de la clé "1" dans l'objet "feature" de le attribs_json.
Référence supplémentaire
Pour plus de précisions, reportez-vous au manuel de référence MySQL pour la recherche JSON fonctions : https://dev.mysql.com/doc/refman/5.7/en/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!