#mysql #json
#mysql #json
Вопрос:
Я пытаюсь использовать функцию JSON_EXTRACT в MySQL, но когда я запускаю запрос:
SELECT JSON_EXTRACT('{"username":"Olivia"}', '$.username');
Я получаю сообщение об ошибке: Error Code: 1305. FUNCTION JSON_EXTRACT does not exist
.
У меня создалось впечатление, that JSON_EXTRACT
что в MySQL встроена функция, но я ошибся? Если кто-нибудь знает, как это исправить, я был бы признателен. Спасибо!
Комментарии:
1. Да, эта функция доступна с
v-5.7
mysql, у вас может быть более низкая версия mysql. Проверьте свою версию mysql.2. Спасибо, я думаю, что у меня есть «mysql Версия 14.14 Дистрибутив 5.7.15», и в моих настройках он показывает следующее: MySQL Workbench Community (GPL) для Windows версии 6.3.7 CE build 1199 (64 бит)
3. Привет @AbhikChakraborty У меня такая же проблема, как у Оливии, есть ли какая-либо другая функция для версии клиента MySQL: 5.5.52?
4. @ShashankShah нет для mysql 5.5.52 эта функция недоступна и доступна только с версии 5.7. Я не уверен, почему Оливия столкнулась с этой проблемой, поскольку эта функция должна быть доступна для версии 5.7
5. @ShashankShah есть ли у вас какое-либо решение для этого? у меня также есть более низкая версия
Ответ №1:
Похоже, что вы пытаетесь получить значение из поля, содержащего значение объекта.
Функция JSON_EXTRACT поддерживается с версии MySQL 5.7.8
Если вы хотите получить значение из файла, содержащего значение объекта на сервере MySQL версии <5.7.8, вы можете использовать альтернативную функцию.
ЗАМЕНИТЬ( SUBSTRING_INDEX(SUBSTRING_INDEX(‘{«имя пользователя»: «Olivia»}’, ‘»имяпользователя»:»‘, -1), ‘»,’, 1), », » ) КАК имя пользователя
Надеюсь, это будет решением для вас