Я пытаюсь исправить записи в базе данных, которые были дважды экранированы.Я полагаю, что magic_quotes был включен во время использования mysql_real_escape_string.Двойное экранирование привело к тому, что некоторые результаты поиска оказались неверными / отсутствовали.
Я отключил magic_quotes и планирую искать записи с обратной косой чертой и обновлять их, чтобы удалить все двойные экранирования.Проблема в том, что когда я выполняю запрос для поиска записей с обратной косой чертой, я всегда не получаю результатов.
SELECT title FROM exampletable WHERE title LIKE '%\\\\%'
Я использую «% \\\\%», как рекомендовано здесь: http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
Если я вывожу каждый заголовок, многие из них имеют нежелательные обратные слеши, так что я знаю, что они там.Я просто не могу выделить их в запросе.
Example Data:
Old King\'s Road
Running Down A Dream
Can\'t Stop The Sun
This One's For Me
Опять же, просто пытаюсь вернуть записи с \ в них.
РЕДАКТИРОВАТЬ: MySQL версии 5.00,92-сообщества.Сортировка является latin1_swedish_ci.Кодировка UTF-8 Unicode
% \\% НЕ работает.Я пробовал.На mysql.com он указан как неверный:
Чтобы найти «\», укажите его как «\\\\»;это связано с тем, что обратный слеш удаляется парсером один раз и снова, когда выполняется сопоставление с образцом, оставляя один обратный слеш для сопоставления.