У меня есть таблица в базе данных MySQL, которая имеет такую структуру:
CREATE TABLE `papers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(1000) COLLATE utf8_bin DEFAULT NULL,
`booktitle` varchar(300) COLLATE utf8_bin DEFAULT NULL,
`journal` varchar(300) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `title_fulltext` (`title`),
FULLTEXT KEY `booktitle_fulltext` (`booktitle`),
FULLTEXT KEY `journal_fulltext` (`journal`)
) ENGINE=MyISAM AUTO_INCREMENT=1601769 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Теперь я знаю, что в заголовке столбца, где-то в миллионах строк, есть строка, содержащая строку
nFOIL: Integrating Naïve Bayes and FOIL.
Я хочу найти
my_string = "nFOIL: integrating Naïve Bayes and FOIL"
и найти правильный ряд.Вы видите, что это должен быть поиск без учета регистра, и точка в конце отсутствует в запросе.Как мне это реализовать?
Я попытался
SELECT id FROM papers WHERE UPPER(title) LIKE %s
и преобразовал my_string в верхний регистр в python и поставил «%» в конце my_string, но это не очень хорошоспособ справиться с этим.Это тоже не сработало.=)
Спасибо за любые предложения!