Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL Server поддерживает три стиля комментария:
От"#
"символ до конца строки.
От"--
"последовательность до конца строки. В MySQL,"--
"(двойной
тире) стиль комментария требует, чтобы второй тире сопровождался по крайней мере одним пробельным или
управляющим символом (таким как пространство, вкладка, новая строка, и так далее). Этот синтаксис
отличается немного от стандартного синтаксиса комментария SQL, как обсуждено в Разделе
1.8.5.5, "'--
'как Запуск Комментария".
От a /*
последовательность к следующему */
последовательность, как в языке программирования C. Этот синтаксис
позволяет комментарию расшириться по многократным строкам, потому что начало и заключительные
последовательности не должны быть на той же самой строке.
Следующий пример демонстрирует все три стиля комментария:
mysql>SELECT 1+1; # This comment continues to the end of line
mysql>SELECT 1+1; -- This comment continues to the end of line
mysql>SELECT 1 /* this is an in-line comment */ + 1;
mysql>SELECT 1+
/*
this is a
multiple-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
в пределах многострочного /* ...
*/
комментарии не поддерживаются.