Подтвердить что ты не робот

Файл дампа 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 игнорировать их, когда файл будет загружен обратно в базу данных? Если да, зачем генерировать эти строки вообще?

4b9b3361

Ответ 1

Это условные комментарии, направленные на определенные версии mySQL.

Из здесь и здесь:

  • Комментарии к версии для MySQL начинаются с /*!
  • И закончим с */
  • Номера версий всегда 5 цифр
  • Номера версий находятся в формате основного номера выпуска, младший номер выпуска, номер версии с майором, состоящим из 1 цифры а второстепенное и ревизия - 2 цифры с левой буквой 0s
  • Специфичные для версии комментарии будут нацелены на любую версию, равную или превышающую  номер версии, указанный

Ответ 2

MySQL будет анализировать и выполнять эти строки кода, я считаю, что для локализации и кодирования символов, потому что комментарии начинаются с /*! (с восклицательным знаком), а не только с C-style /*.

Подумайте об этом так же, как и условные комментарии и Internet Explorer. <!--[if IE]><![endif]--> выглядит как любой простой старый комментарий HTML для других браузеров, но IE распознает этот специальный комментарий и анализирует его по мере необходимости. Аналогично, /*! */ выглядит как любой другой комментарий к другим СУБД SQL, но является особенным для MySQL.