Есть ли все равно, чтобы избежать @
в intodb полнотекстового поиска. У меня есть table
с колонкой email
.Escape @ symbol in Innodb Полнотекстовый поиск
Мне нужно вернуть все значения, содержащие символ @
.
SELECT id
FROM table
WHERE (MATCH (table.email) AGAINST ('[email protected]+' IN BOOLEAN MODE))
AND id IS NOT NULL
GROUP BY id
Но это дает ошибку синтаксиса как говорит MySQL документ @ не может быть использован в запросе http://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html
Могу ли я избежать их или любой другой путь из PHP?
Полнотекстовый поиск полезен, когда вы ищете начало слов (потому что это упорядоченный список всех слов, даже если столбец содержит несколько слов). Если у вас есть столбец с одним адресом электронной почты, полнотекстовый поиск не является тем, что вы ищете (по нескольким причинам). Вместо этого используйте 'where table.email like '% @%'' – Solarflare
, это просто пример столбца электронной почты, у меня также есть столбец «operator» с только значением '@'. Могу ли я как-то справиться с использованием FTS? – jitendrapurohit
Я не понимаю: если в поле есть только '@', то зачем вообще использовать полнотекстовый поиск? Можете ли вы рассказать о своем фактическом вопросе, а не пытаться заставить решение, которое может не подходить? – Shadow