На этот вопрос уже есть ответ:
У меня есть поле MySQL с ссылка на другую таблицу, где идентификаторы сохраняются в виде списка, разделенного запятыми, например:
12,13,14,16
, которые обозначают значения в другой таблице. Я знаю, что это очень плохо и неправильно, но это исходит сверху, и я ничего не могу с этим поделать. Теперь проблема в том, что я хочу выполнить поиск в этом поле с таким запросом:
SELECT ... WHERE field LIKE '%1%'
Проблема теперь, очевидно, в том, что почти все записи можно найти с помощью этого примера запроса, потому что наиболее распространенные идентификаторы находятся в диапазоне 10-20. Моя идея - вместо этого искать%, 1,%, но это не работает для первого и последнего идентификатора в поле. Есть ли что-то вроде внутренней замены или как мне исправить это наилучшим образом?