按照documentation,有兩種方法,你可以到行MySQL中結束註釋:MySql的註釋語法 - 什麼是「#」之間的區別「 - 」
"#"
"-- "
這些有什麼區別嗎?
如果是這樣,我應該什麼時候使用一個和另一個?
如果沒有,有誰知道爲什麼都支持?
對我來說似乎很陌生,特別是當連字版本與標準SQL Syntax略有不同時。
按照documentation,有兩種方法,你可以到行MySQL中結束註釋:MySql的註釋語法 - 什麼是「#」之間的區別「 - 」
"#"
"-- "
這些有什麼區別嗎?
如果是這樣,我應該什麼時候使用一個和另一個?
如果沒有,有誰知道爲什麼都支持?
對我來說似乎很陌生,特別是當連字版本與標準SQL Syntax略有不同時。
它只是真的很重要,如果你想你的SQL是可移植的。例如--
註釋在Sqlite和Postegresql中是可以的,而#
則不是。您最好的選擇是使用--
以下的空間。 (據我所知,我幾乎沒見過別的東西)
許多數據庫還支持/ *塊註釋* /,但它最好使用 - 用於便攜式。 –
由於您提供的鏈接清楚地解釋了它,--
是標準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支持一些其他評論格式以適應各種程序的習慣mmers:#
就像很多腳本語言一樣,/* ... */
也像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)
Oracle和SQL Server(以及DB2和其他)都支持 - 和/ * * /(多行)註釋標準。因此,在MySQL中使用相同的樣式是一種很好的習慣,因爲您可能會遇到在多個環境中進行編程的情況。
之後的空間需求是MySQL的怪胎,但它不是什麼大不了的,因爲它有助於清晰。
如果,當然,你使用了大量的Perl和MySQL,那麼你可以選擇類似的理由#評論...
[其中#之間的差異的一個例子 - 事項] (https://stackoverflow.com/a/4300676/6085060) –