MySQL - Поиск частичных строк - Полный текст? - PullRequest
3 голосов
/ 06 марта 2012

Я только что нашел кучу мошеннических данных в моей базе данных MYSQL ...

Единственный способ добраться до нее - через один из столбцов - FILE_PATH, который содержит версию файла с разделителем-косой чертойдорожка.В этом наборе есть несколько мошеннических файлов, которые мне нужно найти - все они имеют имя файла «Thumbs.db», но имеют различные пути

пример:

F: DatasetGroupedByFormatsx-fmt-398Thumbs.db

У меня есть полнотекстовый индекс на поле, однако следующий запрос не возвращает:

SELECT * FROM main_small WHERE MATCH `FILE_PATH` AGAINST  ('Thumbs.db')

Ответ:

MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0382 sec )

Я не уверен, что это потому, что у меня неправильный синтаксис или текстовая строка должна быть изолирована пробелами / пунктуацией.

Ответы [ 3 ]

10 голосов
/ 06 марта 2012

Конечно, это

select * from main_small where FILE_PATH like '%Thumbs.db'

Однако, если нет, то MySql Полнотекстовый поиск помогает?

2 голосов
/ 06 марта 2012

Проблема в том, что ваш запрос думает, что 'Thumbs.db' - это целое слово.Вам нужно будет найти способ выполнить поиск по шаблону, чтобы выбрать эти строки.Как насчет:

SELECT * FROM main_small WHERE `FILE_PATH` LIKE '%Thumbs.db'
2 голосов
/ 06 марта 2012

Просто используйте LIKE:

SELECT * FROM main_small WHERE `FILE_PATH` LIKE '%Thumbs.db'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...