Почему выберите данные JSON не работает в Marriadb? - PullRequest
0 голосов
/ 14 мая 2019

Мой запрос выглядит так:

select `information`->'$."full_name"' as `homeroom` 
from `classes`

Если запрос выполняется в моей локальной базе данных, он работает.Нет ошибки

Но если запрос выполняется на моем сервере базы данных, он не работает.Существуют следующие ошибки:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '>'$."full_name"' as `homeroom` 
from `classes` LIMIT 0, 25' at line 1

Если я запускаю select version(),

Локальная база данных моей версии: 8.0.15

Сервер базы данных моей версии: 10.0.38-MariaDB

Кажется, это не работает, потому что мой сервер баз данных использует mariadb

Как я могу решить эту проблему?

Обновление :

Я использую тип данных text для информационного поля

1 Ответ

1 голос
/ 14 мая 2019

Функции JSON не добавлялись в MariaDB до версии 10.2.3.Если вы не можете выполнить обновление, вам придется обработать данные в вашем приложении.Обратите внимание, что даже в версиях, которые поддерживают JSON, они не поддерживают нотацию -> ( ссылка ), поэтому вам придется переписать запрос как

JSON_EXTRACT(information, '$.full_name')
...