/ / Sintaxe de comentário MySql - Qual é a diferença entre “#” e “— ” - mysql, sql, sintaxe, comentários

MySQL Comment Syntax - Qual a diferença entre “#” e “-” - mysql, sql, sintaxe, comentários

De acordo com documentação, existem duas maneiras de comentar no final de uma linha no MySql:

  • "#"
  • "-- "

Existe alguma diferença entre estes?

Em caso afirmativo, quando devo usar um em vez de outro?

Se não, alguém sabe por que ambos são suportados?

Parece estranho para mim, especialmente quando a versão hifenizada ainda difere um pouco do padrão Sintaxe SQL.

Respostas:

12 para resposta № 1

Só importa se você deseja que seu SQL seja portátil. Por exemplo -- comentários estão OK em Sqlite e Postegresql enquanto # não são. Sua melhor aposta é usar -- com um espaço a seguir. (Pelo que me lembro, quase nunca vi mais nada)


4 para resposta № 2

Como o link que você forneceu explica claramente -- é o "separador de comentários" SQL padrão. Onde o MySQL se afasta do padrão é exigir um espaço depois de -- ser reconhecido como um comentário. O SQL "padrão" não exige isso.

Para fornecer um exemplo, no código a seguir, -- é reconhecido como um token de comentário:

mysql> CREATE TABLE T(C int);   -- This is my new table
Query OK, 0 rows affected (0.18 sec)

Mas observe como o intérprete interativo se comporta mal sem espaço depois de --:

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

O MySQL suporta algum outro formato de comentário para acomodar o hábito de vários programadores: # como muitas linguagens de script e /* ... */ como C. É bastante surpreendente que // ainda não faz parte deles.

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)

0 para resposta № 3

Tanto Oracle quanto SQL Server (bem como DB2 eoutros) suportam o padrão de comentário -- e /* */ (multilinhas). Portanto, é um bom hábito usar o mesmo estilo no MySQL, pois você provavelmente encontrará situações em que estará programando em vários ambientes.

A exigência de um espaço depois de -- é uma raridade do MySQL, mas dificilmente é um grande problema, pois ajuda na clareza.

Se, claro, você estiver usando muito Perl e MySQL, então você pode optar pelo comentário # por motivos semelhantes...