Задать вопрос
@Emmet1

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

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

Мне нужно выбрать все строки где в поле BookID встречается ID допустим 1710. Это реально сделать с Json массивом?
Или лучше сериализовать?
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 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"%'
Ответ написан
Ваш ответ на вопрос

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

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