Поиск

Синтаксис комментариев

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

  1. От символа '#'до конца строки.
  2. От последовательности '— ' до конца строки. Этот стиль поддерживается, начи­
    ная с версии MySQL 3.23.3. Отметим, что стиль комментария с '— ' требует, что-
  3. бы за вторым тире следовал как минимум один пробел (или управляющий символ, такой как перевод строки). Этот синтаксис слегка отличается от стандартного стиля комментариев SQL (см. раздел .'--' как начало комментария)
.
  • От последовательности 7*' до последовательности '*/'. Замыкающая последова­
    тельность не должна быть на той же строке, поэтому синтаксис позволяет писать
    многострочные комментарии.
    В следующем примере представлены все три стиля комментариев:
    mysql SELECT 1+1; # Этот комментарий продолжается до конца строки
    mysql SELECT 1+1; - Этот комментарий продолжается до конца строки
    mysql SELECT I /* это внутристрочный комментарий */ + 1;
    mysql SELECT 1+
    /* А ЭТО
    многострочный комментарий
    V
1;
Описанный выше синтаксис комментариев влияет на то, как сервер mysqld разбирает SQL-операторы. Клиентская программа mysql также выполняет некоторый предваритель­ный анализ операторов, перед тем как отправлять их серверу. (Например, она делает это, чтобы определить границы операторов во входной строке с множеством операторов.) Од­нако, есть некоторые ограничения в том, как mysql разбирает комментарии/* ... */:

  1. Символы одинарной, двойной и обратной кавычки воспринимается для индика­
    ции начала помещенной в кавычки строки или идентификатора, даже внутри
    комментария. Если открывающей кавычке в теле комментария не соответствует
    закрывающая, анализатор не считает, что комментарий не закрыт. Если вы запус­
    каете mysql интерактивно, то можете обнаружить эту ситуацию по изменению
    приглашения командной строки с mysql на ',; или ч. Упомянутая проблема
    была решена в MySQL 4.1.1.
  2. Точка с запятой внутри комментария воспринимается как завершение оператора
    SQL, и то, что за ней следует, является началом следующего оператора. Эта про­
    блема была решена в MySQL 4.0.13.

В версиях MySQL, которые имеют эти недостатки, они проявляются как при инте­рактивном запуске mysql, так и тогда, когда вы помещаете команды в файл и применяете mysql в пакетном режиме с помощью команды mysql Сервер MySQL поддерживает три стиля комментариев:

  • От символа '#'до конца строки.
  • От последовательности '— ' до конца строки. Этот стиль поддерживается, начиная с версии MySQL 3.23.3. Отметим, что стиль комментария с '— ' требует, что-бы за вторым тире следовал как минимум один пробел (или управляющий символ, такой как перевод строки). Этот синтаксис слегка отличается от стандартного стиля комментариев SQL (см. раздел .'--' как начало комментария).
  • От последовательности 7*' до последовательности '*/'. Замыкающая последовательность не должна быть на той же строке, поэтому синтаксис позволяет писать многострочные комментарии.
  • В следующем примере представлены все три стиля комментариев: mysql> SELECT 1+1;# Этот комментарий продолжается до конца строки mysql> SELECT 1+1; - Этот комментарий продолжается до конца строки mysql> SELECT I /*это внутристрочный комментарий */ + 1; mysql> SELECT 1+ /* А ЭТО многострочный комментарий V 1; Описанный выше синтаксис комментариев влияет на то, как сервер mysqld разбирает SQL-операторы. Клиентская программа mysql также выполняет некоторый предваритель¬ный анализ операторов, перед тем как отправлять их серверу. (Например, она делает это, чтобы определить границы операторов во входной строке с множеством операторов.) Од¬нако, есть некоторые ограничения в том, как mysql разбирает комментарии/* ... */:
  • Символы одинарной, двойной и обратной кавычки воспринимается для индикации начала помещенной в кавычки строки или идентификатора, даже внутри комментария. Если открывающей кавычке в теле комментария не соответствует закрывающая, анализатор не считает, что комментарий не закрыт. Если вы запускаете mysql интерактивно, то можете обнаружить эту ситуацию по изменению приглашения командной строки с mysql> на '>, "> или ч>. Упомянутая проблема была решена В MySQL 4.1.1.
  • Точка с запятой внутри комментария воспринимается как завершение оператора SQL, и то, что за ней следует, является началом следующего оператора. Эта про блема была решена в MySQL 4.0.13.
  • В версиях MySQL, которые имеют эти недостатки, они проявляются как при инте¬рактивном запуске mysql, так и тогда, когда вы помещаете команды в файл и применяете mysql в пакетном режиме с помощью команды mysql < имя_файла. имя_файла.