Maison > Questions et réponses > le corps du texte
Contenu du champ JSON de mysql
"[{"id": "1", "name": "a"},{"id": "2", "name": "b"}, {"id": "3", "nom ":"c"}]"
Comment interroger les données de name=b ?
Remarque : le mien est une donnée, un tableau bidimensionnel converti en json
Une méthode consiste à faire fonctionner directement json
Quelqu'un a fourni select json_extract(json,'$[*].name' ) from table where json_extract(json,'$[*].name')= "b" ;
la méthode, mais elle n'a aucun effet
2. Une autre méthode consiste à le retirer, à le faire fonctionner et à le remettre en place.
Le problème est que le contenu retiré est tel que montré sur l'image. J'ai essayé différentes méthodes et il ne peut pas être utilisé
.大家讲道理2017-06-06 09:54:19
Ajoutez un autre champ pour les opérations de requête, essayez de ne pas utiliser les fonctions natives de mysql
.
淡淡烟草味2017-06-06 09:54:19
Le contenu du champ json ne doit pas avoir de guillemets doubles dans la couche la plus externe, il ne s'agit donc pas d'un tableau JSON.
De plus, il est préférable de fournir un contenu textuel complet pour le contenu du champ JSON, et le contenu de la capture d'écran est incomplet.
PHP中文网2017-06-06 09:54:19
json_extract(json,'$[*].name' )
retourne ["a", "b", "c"]
不会跟"b"
matching.
Hé, je n'essaierai pas de l'ajuster moi-même...