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)
  • 第一个似乎是评论。
  • 第二个不是
  • 第三个也不算。他们在期待什么。

我写了一个 sql 文件,其中包含以---字符开头的标题注释。由于这个下一个查询不运行。它抛出错误。像这样。

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“-”附近使用正确的语法

4

2 回答 2

19

第二个破折号后需要有空格或控制字符。从MySQL 手册

MySQL Server 支持三种注释样式:

  • 从一个#字符到行尾。

  • 从一个--序列到行尾。在 MySQL 中,--(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格、制表符、换行符等)。此语法与标准 SQL 注释语法略有不同,如第 1.8.5.5 节“<code>--作为注释的开始”中所述。

  • 从一个/*序列到下面的*/序列,就像在 C 编程语言中一样。此语法使注释可以扩展到多行,因为开始和结束序列不必在同一行。

(强调我的。)而且,像往常一样,这仅适用于 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 回答