найти в MySQL запись с фрагментом из строковой переменной

FR
На сайте с 30.12.2005
Offline
44
568

Есть строковая переменная $String. Ее содержимое заранее не известно.

Есть таблица БД table_sample со строковым полем SAMPLE.

В таблице записи сформированы заранее, объем примерно до 1000 записей.

Надо узнать максимально быстро, есть ли запись в таблице, у которой SAMPLE является частью строки $String

К примеру если $String = 1234567890abcdefg и SAMPLE = 7890ab, то это правильно

Не так: select * from table_sample where `SAMPLE` LIKE '%$String%'

А как то вот так :idea:: select * from table_sample where $String LIKE '%SAMPLE%' можно как то вывернуться?

Или все же обходить всю таблицу и сравнивать средствами PHP?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

Вам на каком языке программирования?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
FR
На сайте с 30.12.2005
Offline
44
#2
LEOnidUKG:
Вам на каком языке программирования?

В идеале запрос MySQL.

Либо упомянутый PHP.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3
Или все же обходить всю таблицу и сравнивать средствами PHP?

Скорее всего да. Только в переборе break; не забудьте, чтобы быстрее дело шло :)

Zlo_606ep
На сайте с 14.12.2006
Offline
129
#4

копните в эту сторону:

SELECT * FROM `table_sample` WHERE position(`SAMPLE` IN "$String")>0

FR
На сайте с 30.12.2005
Offline
44
#5
Zlo_606ep:
копните в эту сторону:
SELECT * FROM `table_sample` WHERE position(`SAMPLE` IN "$String")>0

Спасибо за наводку!!!

Пошел путем SELECT * FROM `table_sample` WHERE LOCATE(`SAMPLE`,"$String")

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий