TTATPuOT
@TTATPuOT
https://patriotovsky.ru/

Как получить строки из таблицы по ID из массива JSON в MySQL?

Здравствуйте! Есть таблица items. У неё простой вид, например:
id(int) | name(varchar) | categories(json)
id - AI
name - название
categories - json-массив по типу [1, 2, 3]

Как получить все строки из items, у который в массиве categories есть, нужный мне id?
В официальной документации почему-то обсуждаются только объекты, ни слова о работе с массивами простыми.

MySQL поддерживает JSON с 5.7, но как пользоваться им в полной мере я всё очень сомневаюсь.

Заранее спасибо!
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
WHERE JSON_CONTAINS(`categories`, '1') = 1
Обратите внимание, что JSON_CONTAINS ищет именно строковое значение.
И по JSON-полям не работают индексы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы