Необходимо выбрать только данные, содержащие обратную косую черту в MySQL

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

Я отключил magic_quotes и планирую искать записи с обратной косой чертой и обновлять их, чтобы удалить любые двойные экранирования. Проблема в том, что когда я выполняю запрос для поиска записей с обратной косой чертой, я всегда не получаю результатов.

SELECT title FROM exampletable WHERE title LIKE '%\\\\%'

Я использую '% \\\\%', как рекомендовано здесь: http: //dev.mysql .com / doc / refman / 5.0 / ru / string-compare-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.0.92-community. Параметры сортировки - latin1_swedish_ci. Кодировка - UTF-8 Unicode

% \\% НЕ работает. Я пытался. На mysql.com он указан как неверный:

Для поиска «\» укажите его как «\\\\»; это связано с тем, что синтаксический анализатор удаляет обратную косую черту один раз, а затем - при сопоставлении с шаблоном, в результате чего для сопоставления остается одна обратная косая черта.

6
задан 8bitsdeep 11 April 2011 в 19:22
поделиться