6

documentationによると、MySql の行末にコメントする方法は 2 つあります。

  • "#"
  • "-- "

これらの間に違いはありますか?

もしそうなら、いつどちらを使うべきですか?

そうでない場合、両方がサポートされている理由を誰か知っていますか?

特にハイフンでつながれたバージョンがまだ標準のSQL Syntaxとわずかに異なる場合、私には奇妙に思えます。

4

3 に答える 3

12

SQL を移植可能にしたい場合にのみ重要です。たとえば、--コメントは Sqlite と Postegresql では問題ありませんが、問題あり#ません。あなたの最善の策は--、スペースの後に使用することです。(私が覚えている限り、他のものはほとんど見たことがありません)

于 2013-07-09T17:09:36.157 に答える
5

あなたが提供したリンクが明確に説明しているように、それ--は標準のSQL「コメント区切り」です。MySQL が標準から逸脱しているのは、コメントとして認識されるために後にスペースが必要なことです。--「標準」SQL ではこれは必要ありません。

例を挙げると、次のコードで--は、 はコメント トークンとして認識されます。

mysql> CREATE TABLE T(C int);   -- This is my new table
Query OK, 0 rows affected (0.18 sec)

しかし、対話型インタープリターが の --にスペースがないと、どのように誤動作するかに注意してください。

mysql> CREATE TABLE T(C int);   --This is my new table
Query OK, 0 rows affected (0.24 sec)

    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--This is my new table' at line 1

#MySQL は、多くのスクリプト言語や/* ... */Cなど、さまざまなプログラマーの習慣に対応するために、他のコメント形式をサポートして//います。

mysql> CREATE TABLE T(C int);   /* This is my new table */
Query OK, 0 rows affected (0.22 sec)

mysql> CREATE TABLE T(C int);   # This is my new table
Query OK, 0 rows affected (0.24 sec)
于 2013-07-09T17:08:36.827 に答える