2.從‘-- ’序列到行尾。請注意‘-- ’(雙破折號)註釋風格要求第2個破折號後面至少跟一個空格符(例如空格、tab、換行符等等)。該語法與標準SQL註釋語法稍有不同,後者將在1.8.5.7, “‘--’作爲註釋起始標記”中討論。
注意:
之所以要求使用空格,是爲了防止與自動生成SQL查詢有關的問題,它採用了類似下面的代碼,其中,自動爲“!payment!”插入“payment”的值:
UPDATE account SET credit=credit-!payment!
考慮一下,如果“payment”的值爲負數如“-1”時會出現什麼情況:
UPDATE account SET credit=credit--1
在SQL中“credit--1”是合法的表達式,但是,如果“--1”被解釋爲註釋開始,部分表達式將被捨棄。其結果是,表達式的意義與預期的意義完全不同。
UPDATE account SET credit=credit
該語句不會對值作任何更改!這表明,允許註釋以“--”開始會產生嚴重後果。
3.從/*序列到後面的*/序列。結束序列不一定在同一行中,因此該語法允許註釋跨越多行。
注意:
/*!50001 DROP TABLE IF EXISTS `count_yysbh`*/; 50001表示假如 數據庫版本是5.00.01以上版本,“DROP TABLE IF EXISTS `count_yysbh”纔會被執行