MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 1 Общая информация :: 1.9 Насколько MySQL соответствует стандартам? :: 1.9.4 Отличия MySQL от ANSI SQL92 :: 1.9.4.7 Символы `--' как начало комментария

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 1.9.4 Отличия MySQL от ANSI SQL92
  • 1.9.4.1 Вложенные SELECTы
  • 1.9.4.2 Оператор SELECT INTO TABLE
  • 1.9.4.3 Транзакции и атомарные операции
  • 1.9.4.4 Хранимые процедуры и триггеры
  • 1.9.4.5 Внешние ключи
  • 1.9.4.6 Представления
  • 1.9.4.7 Символы `--' как начало комментария

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

1.9.4.7. Символы `--' как начало комментария

В некоторых отличных от MySQL базах данных SQL символы '--' используются как начальные символы комментариев. В сервере MySQL символом начала комментариев является ‘#’. Для сервера MySQL можно также использовать стиль комментирования из C: /* this is a comment */ (see Раздел 6.1.6, «Синтаксис комментариев»).

В версии сервера MySQL 3.23.3 и выше поддерживается комментирование с помощью символов '--' - при условии, что за комментарием следует пробел. Это объясняется тем, что данный стиль комментирования вызвал много проблем при автоматической генерации SQL-запросов, в которых присутствовал код, подобный приведенному ниже (величина платежа вставляется в выражение !payment! автоматически):

UPDATE tbl_name SET credit=credit-!payment!

Давайте представим себе, что произойдет в случае, если величина payment окажется отрицательной. Поскольку выражение 1--1 в SQL является допустимым, то просто страшно себе вообразить последствия в случае, если будут разрешены комментарии, начинающиеся с '--',

Использование нашей реализации этого метода комментирования в версии сервера MySQL 3.23.3 и выше - в форме 1-- This is a comment - является действительно безопасным.

Существует еще один безопасный способ решения этой проблемы. Он заключается в том, что клиент командной строки mysql удаляет все строки, начинающиеся с '--'.

Приведенная ниже информация относится только к работе более ранних, чем 3.23.3, версий MySQL.

Если ваша SQL-программа представлена в виде текстового файла, содержащего комментарии '--', необходимо использовать:

shell> replace " --" " #" < text-file-with-funny-comments.sql \
  | mysql database

вместо обычного:

shell> mysql database < text-file-with-funny-comments.sql

Можно также отредактировать сам командный файл, заменив комментарии '--' комментариями ‘#’:

shell> replace " --" " #" -- text-file-with-funny-comments.sql

Привести эти комментарии к первоначальному виду можно с помощью следующей команды:

shell> replace " #" " --" -- text-file-with-funny-comments.sql

This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!