У меня есть простая таблица имен locations
с 3 полямиКак использовать MySQL LIKE в запятыми значений
ID | location | sub_location
------------------------------------------
1 | loc1 | sub1,another,sub3
2 | loc2 | test1,test
Как я могу получить соответствующие значения из location
или sub_location
на основе входных данных пользователей? В простой форме пользователь вводит несколько букв в текстовое поле. Я должен проверить, есть ли подходящее значение в location
или sub_location
. Но проблема в том, что у меня есть значения, разделенные запятой, в столбце sub_location
. Каждое разделенное запятыми слова следует рассматривать как разные значения, и результат должен быть одинарным. Представьте, что пользователь вводил «sub» в качестве поискового запроса, тогда мой запрос выглядит примерно так. Но это не сработает и вызывает ошибку запроса рядом с предложением WHERE. Есть идеи?
SELECT ID, location, sub_location FROM locations WHERE location LIKE %sub% OR WHERE sub_location LIKE %sub%
Ошибка MySQL. # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования около '% sub% ИЛИ sub_location LIKE% sub% LIMIT 0, 30' в строке 1 –
Я думаю, вы должны написать '... like '% sub% «...» с одинарными кавычками вокруг строки – monim
Отсутствует «одиночная кавычка». – Wanderer