根据documentation,有两种方法可以在MySql中对一行的末尾发表评论:
"#"
"-- "
这些之间有什么区别吗?
如果是这样,我应该何时使用其中一个?
如果没有,有谁知道为什么两者都受支持?
对我来说似乎很奇怪,特别是当带连字符的版本与标准版SQL Syntax略有不同时。
答案 0 :(得分:12)
只有您希望SQL可移植才真正重要。例如,--
注释在Sqlite和Postegresql中是正常的,而#
则不是。您最好的选择是使用--
并跟随空格。 (据我所知,我几乎没见过任何其他东西)
答案 1 :(得分:4)
正如您提供的链接清楚地解释它--
是标准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)
答案 2 :(得分:0)
Oracle和SQL Server(以及DB2等)都支持 - 和/ * * /(多行)注释标准。因此,在MySQL中使用相同的样式是一个好习惯,因为您可能会遇到在多个环境中进行编程的情况。
之后对空间的要求 - 是一个奇怪的MySQL,但它并不是一个大问题,因为它有助于清晰。
当然,如果你使用了大量的perl和MySQL,那么你可以选择#评论出于类似的原因......