Spec-Zone .ru
спецификации, руководства, описания, API

9.6. Синтаксис комментария

MySQL Server поддерживает три стиля комментария:

Следующий пример демонстрирует все три стиля комментария:

mysql> SELECT 1+1; # This comment continues to the
        end of linemysql> SELECT 1+1; -- This comment continues to
        the end of linemysql> SELECT 1 /* this is an in-line comment
        */ + 1;mysql> SELECT 1+/*this is amultiple-line comment*/1;

Вложенные комментарии не поддерживаются. (При некоторых условиях вложенные комментарии могли бы быть разрешены, но обычно не, и пользователи должны избежать их.)

MySQL Server поддерживает некоторые разновидности комментариев C-стиля. Они позволяют Вам записать код, который включает расширения MySQL, но все еще переносим, при использовании комментариев следующей формы:

/*! MySQL-specific code */

В этом случае MySQL Server анализирует и выполняет код в пределах комментария, как это было бы, любой другой SQL-оператор, но другие SQL-серверы проигнорирует расширения. Например, MySQL Server распознает STRAIGHT_JOIN ключевое слово в следующем операторе, но другие серверы не будет:

SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...

Если Вы добавляете номер версии после"!"символ, синтаксис в пределах комментария выполняется, только если версия MySQL больше чем или равна указанному номеру версии. TEMPORARY ключевое слово в следующем комментарии выполняется только серверами от MySQL 3.23.02 или выше:

CREATE /*!32302 TEMPORARY */ TABLE t (a INT);

Синтаксис комментария, только описанный, применяется к, как mysqld сервер анализирует SQL-операторы. mysql клиентская программа также выполняет некоторый парсинг операторов прежде, чем отправить им серверу. (Это делает это, чтобы определить границы оператора в пределах входной строки многократного оператора.)

Комментарии в этом формате, /*!12345 ... */, не сохранены на сервере. Если этот формат будет использоваться, чтобы прокомментировать сохраненные подпрограммы, то комментарии не будут сохранены на сервере.

Использование краткой формы mysql команды такой как \C в пределах многострочного /* ... */ комментарии не поддерживаются.