Задать вопрос
swaro
@swaro
Nice code - awesome bugs

Как искать по JSON в MariaDB?

Здравствуйте! У меня в базе банных (MariaDB) есть таблица с записями, у каждой записи есть поле с тегами. Теги записаны в виде массива JSON. Выглядит это примерно так:
id | tags
---+-------
1  | ["first", "second", "third"]
2  | ["first", "target", "second", "third"]
3  | ["foo", "bar"]

Так вот, мне нужно выбрать все записи, у которых, к примеру, в поле "tags" будут теги "target" и "first". Так, чтобы результат выглядел так:
id | tags
---+-------
2  | ["first", "target", "second", "third"]

Вопрос: как это можно сделать? И можно пример?
  • Вопрос задан
  • 1497 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Genri_Rus
Насколько я понял, то можно вот так:
"SELECT * FROM `table_name` WHERE JSON_CONTAINS(tags, '{\"target\", \"first\"}')"

Версия MariaDB, которая поддерживает данные функции должна быть не ниже 10.2.3
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы