2012-12-25 55 views
3

我知道--意味着在mysql中開始評論。但是---和是什麼意思?查看我的控制檯日誌。在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) 
  • 首先一個似乎是一個註釋。
  • 第二個不是
  • 第三個也不是。他們期待着一些東西。

我寫了一個sql文件,其中包含以---字符開頭的標題註釋。由於這下一個查詢不運行。它會拋出錯誤。喜歡這個。

錯誤1064(42000):您的SQL語法錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在第1行' - '附近使用正確的語法。

+0

你在哪裏看到他們使用? –

+0

@JanDvorak:「我寫了一個包含以'---'字符開頭的標題註釋的sql文件。」 – Ryan

+1

我用過它們。我沒有看到他們在任何地方使用。我認爲它就像C的''''。添加更多的'/'將無關緊要。 –

回答

12

在第二個破折號後面需要有空格或控制字符。從MySQL manual

MySQL服務器支持三種註釋風格:

  • #字符到行的末尾。

  • --序列到行尾。在MySQL中,--(雙破折號)註釋樣式需要第二個破折號後跟 至少一個空格或控制字符(例如空格,製表符, 換行符等)。此語法與標準SQL 註釋語法略有不同,如第1.8.5.5節「--作爲 註釋的開始」中所述。

  • /*序列到以下*/序列,如在C編程語言中一樣。此語法允許評論擴展到多行,因爲在同一行上開始和結束序列不需要爲 。

(重點煤礦。),和往常一樣,這僅適用於MySQL的。 :P

+0

那麼它是什麼,如果不是評論呢? –

+1

@JanDvorak:語法錯誤。什麼是' - *',如果不是負乘法? :) – Ryan

+0

我以爲OP看到這在國外代碼中使用。顯然,我錯了。 –

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. 

希望這可以幫助你,

+0

這是什麼意思?你能改說嗎? – Ryan