@Emmet1

Как получить выборку Mysql если в поле есть нужный ID?

Есть таблица. В ней поле BookID
в ней Json массив ["1686","1710"] с ID книг

Мне нужно выбрать все строки где в поле BookID встречается ID допустим 1710. Это реально сделать с Json массивом?
Или лучше сериализовать?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
DevMan
@DevMan
лучше не использовать для этого мускуль.
а если уж решили использовать его, то стоит изучить его возможности работать с json.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Не "сериализовать", а нормализовать

Сделать отдельную таблицу, в которой будет две колонки, id из исходной строки и id книги.

Дальше делаем совершенно тупой запрос

SELECT a.* FROM actions a, actions_books ab WHERE a.id= ab.aid and ab.book_id=?


Это решит не только текущую проблему но и множество проблем в будущем. В частности с производительностью.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
SELECT BookID FROM table WHERE `BookID` LIKE '%"1710"%'
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект
25 апр. 2024, в 19:22
18000 руб./за проект