^ M символ в журнале запросов MySQL, откуда он взялся? - PullRequest
0 голосов
/ 15 октября 2011

Я использую PDO для php и. Параметры являются обязательными. Однако, когда я проверяю свой mysql-query.log на CentOS 5.6

Я получаю следующее

UPDATE 
  ^ M site_folder_pages ^ M 
SET
  ^ M ^ M title = 'Schanz, Hermann',
  ^ M `desc` = 'Telefonnummer, E-Mailadresse',
  ^ M declared_encoding = NULL,
  ^ M detected_encoding = NULL,
  ^ M word_count = '230',
  ^ M last_checked = NOW(),
  ^ M date_modified = NOW() ^ M 
WHERE ^ M url_hash = '0001843c8b7bb28b46323fd1e8a3efa5' ^ M 
  AND site_id = '52f2b2940f79c1f7d623b066b2bce2e5' 

Имея это, я не совсем уверен, был ли этот запрос выполнен правильно или символ «^ M» был добавлен только в файл журнала, а не в настоящий запрос.

При быстром поиске в Google я также нахожу запросы с такими же символами: Запрос с ^ M

Это просто в журнале? или это действительно выполняется с этим символом, следовательно, во время выполнения произошла ошибка?

Ответы [ 2 ]

2 голосов
/ 15 октября 2011

^M - это экранное отображение возврата каретки во многих терминалах UNIX.Вероятно, вы просматриваете файл журнала и / или строку запроса, содержащую окончания строк в стиле Windows (\r\n), но читающие его в режиме UNIX (\n), и, следовательно, возврат каретки (\r = ^M) отображаются.

Так как \r и \n являются пробельными символами, MySQL игнорирует их, поэтому это не вызовет реальной проблемы.

2 голосов
/ 15 октября 2011

^M соответствует chr(13), также представленному как \r, и является возвратом каретки.

  • Терминатор строки Unix в Unix имеет значение только CHR(10) (или \n, символ новой строки)
  • Терминаторы Windows chr(13). chr(10) (или также как "\r\n", возврат и новая строка).

MySQL будет игнорировать все эти символы в качестве пробела, поэтому вам не о чем беспокоиться.

...