Код ошибки MySQL: 1305. ФУНКЦИЯ JSON_EXTRACT не существует

#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), », » ) КАК имя пользователя

Надеюсь, это будет решением для вас