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"]

Вопрос: как это можно сделать? И можно пример?
  • Вопрос задан
  • 1219 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Genri_Rus
Насколько я понял, то можно вот так:
"SELECT * FROM `table_name` WHERE JSON_CONTAINS(tags, '{\"target\", \"first\"}')"

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

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

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