MySQL

MySQLのコメント構文

More than 1 year has passed since last update.

MySQLのコメント構文について真面目に考えたことがなかったので調べてみました。

コメントの書き方

まずコメントの書き方からですが、これは当然ながら以下3パターン。

パターン1

#から始まって行末までのコメント

パターン2

-- から始まって行末までのコメント(--の後は半角スペース必須)

パターン3

/*から*/までのコメント(改行を許容します)

ここまでは流石に知っていましたが、以下の内容は詳しく知りませんでした。

SQLとして実行されるコメント

/*! ~ */

と記述すると、他のSQL文同様に実行されます。
この記述は!の後に「32302」のようにバージョンを記載すると、
指定したバージョン未満のMySQLでは無視されます。
32302の場合は、MySQL 3.23.02以降でなければ無視されるわけです。
また、MySQL以外のDBでこの構文を使うとコメントとして解釈されるため、
MySQL特有の構文を除外するために使用できます。
例:/**!40101 SET NAMES utf8 */;

mysqldumpで生成されたダンプファイルがよいサンプルとなるかと思います。
(実際私はそこで気になって調べました。)

mysqldumpのダンプファイルを見るたびに、
気になっていましたが調べてみたらすっきりしました。

参考URL:
http://dev.mysql.com/doc/refman/5.1/ja/comments.html