Para poder hacer lo que quieras, necesitas MySQL 5.7.8+. Desde 5.7.8 puedes usar JSON_EXTRACT
función para extraer un valor de una cadena JSON:
SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name');
+---------------------------------------------------------+
| JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name') |
+---------------------------------------------------------+
| "Aztalan" |
+---------------------------------------------------------+
Tomado de aquí .
En MySQL 5.6, simplemente no puede obtener el valor que desea, ya que MySQL no sabe nada sobre qué es un objeto JSON. Así que tus opciones son:
- Actualizar a 5.7.8+
- Analice el resultado de la consulta con algo que maneje JSON:
- Podría ser PHP json_decode (o equivalente en su idioma)
- Una herramienta en línea como http://json.parser.online.fr/