Recherche d'éléments de tableau JSON dans MySQL
Votre requête tente d'utiliser la fonction JSON_EXTRACT pour comparer l'ensemble du tableau avec une valeur scalaire, ce qui renvoie toujours un résultat non nul. Pour rechercher des éléments spécifiques dans le tableau, vous pouvez utiliser la fonction JSON_CONTAINS.
Recherche dans un tableau d'entiers :
JSON_CONTAINS('[1,2,3,4,5]','7','$')
Cela renverra 0 si le tableau ne contient pas la valeur 7 et 1 si c'est le cas.
Recherche dans un tableau de Chaînes :
JSON_CONTAINS('["a","2","c","4","x"]','"x"','$')
Cela renverra 1 si le tableau contient la chaîne "x" et 0 sinon.
Requête pour votre cas :
Pour sélectionner toutes les lignes où la colonne de données contient un élément de tableau supérieur à 2, utilisez ce qui suit requête :
SELECT * from my_table WHERE JSON_CONTAINS(data, '2', '$');
Cela renverra toutes les lignes où le tableau de la colonne de données contient un élément supérieur à 2.
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!