簡體   English   中英

MySql注釋語法 - “#”和“ - ”之間的區別是什么

[英]MySql Comment Syntax - What's the difference between “#” and “— ”

根據文檔 ,有兩種方法可以在MySql中對一行的末尾進行注釋:

  • "#"
  • "-- "

這些之間有什么區別嗎?

如果是這樣,我應該何時使用其中一個?

如果沒有,有誰知道為什么兩者都支持?

對我來說似乎很奇怪,特別是當帶連字符的版本與標准SQL語法略有不同時。

只有你希望你的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支持其他一些注釋格式以適應各種程序員的習慣: #喜歡許多腳本語言和/* ... */喜歡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,那么您可以選擇#comments作出類似的原因......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM