Файл дампа MySQL и прокомментированные строки
У меня эти строки в верхней части файла MySQL.sql(сбрасываются с помощью phpMyAdmin):
/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
/*!40101 SET @[email protected]@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
Но все они, похоже, прокомментированы. Так будет ли MySQL игнорировать их, когда файл будет загружен обратно в базу данных? Если да, зачем генерировать эти строки вообще?
Ответы
Ответ 1
Это условные комментарии, направленные на определенные версии mySQL.
Из здесь и здесь:
- Комментарии к версии для MySQL начинаются с
/*!
- И закончим с
*/
- Номера версий всегда 5 цифр
- Номера версий находятся в формате основного номера выпуска,
младший номер выпуска, номер версии с майором, состоящим из 1 цифры
а второстепенное и ревизия - 2 цифры с левой буквой 0s
- Специфичные для версии комментарии будут нацелены на любую версию, равную или превышающую
номер версии, указанный
Ответ 2
MySQL будет анализировать и выполнять эти строки кода, я считаю, что для локализации и кодирования символов, потому что комментарии начинаются с /*!
(с восклицательным знаком), а не только с C-style /*
.
Подумайте об этом так же, как и условные комментарии и Internet Explorer. <!--[if IE]><![endif]-->
выглядит как любой простой старый комментарий HTML для других браузеров, но IE распознает этот специальный комментарий и анализирует его по мере необходимости. Аналогично, /*! */
выглядит как любой другой комментарий к другим СУБД SQL, но является особенным для MySQL.