12

私は--、mysqlでコメントを開始することを意味することを知っています。しかし、どういう---意味----ですか?私のコンソールログを参照してください。

mysql> --
mysql> ---
    -> 
    -> ;
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 '-' at line 1
mysql> ----
    -> 
    -> ;
Query OK, 0 rows affected (0.00 sec)
  • 最初のものはコメントのようです。
  • 2つ目は
  • 3つ目もそうではありません。彼らは何かを期待しています。

---文字で始まるヘッダーコメントを含むSQLファイルを作成しました。このため、次のクエリは実行されません。エラーをスローします。このような。

エラー1064(42000):SQL構文にエラーがあります。1行目の「-」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2

19

2番目のダッシュの後に空白または制御文字が必要です。MySQLマニュアルから:

MySQL Serverは、次の3つのコメントスタイルをサポートしています。

  • 文字から#行末まで。

  • シーケンスから--行末まで。MySQLでは、--(二重ダッシュ)コメントスタイルでは、2番目のダッシュの後に少なくとも1つの空白または制御文字(スペース、タブ、改行など)を続ける必要があります。この構文は、1.8.5.5項「<code>-コメントの開始として」で説明されているように、標準のSQLコメント構文とは少し異なります。

  • Cプログラミング言語のように、/*シーケンスから次のシーケンスへ。*/この構文では、開始シーケンスと終了シーケンスが同じ行にある必要がないため、コメントを複数の行に拡張できます。

(Emphasis mine。)そして、いつものように、これはMySQLにのみ適用されます。:P

于 2012-12-25T15:23:32.230 に答える
2

これは構文チェックエラーに他なりません。

Other than '--', mysql considering everything as sql statement. Since
'---' is not a valid statement it's showing error.
that means there should be at least one space after '--' then only it will be considered as valid comment.

これがお役に立てば幸いです。

于 2012-12-25T15:24:34.853 に答える