Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uso da palavra reservada DATA como identificador de campo não deveria ser evitado?

A palavra DATA é reservada pelo MySQL¹. Sendo assim, seu uso como identificador de campo não deveria ser evitado (embora funcione)?

¹Vide https://dev.mysql.com/doc/refman/8.0/en/keywords.html

1 resposta
solução!

Bom dia Jonas,

de acordo com a documentação, DATA é realmente uma keyword, porém não consta como reserved. Keywords ainda podem ser usadas como identificadores sem nenhuma sintaxe especial.

reserved keywords, para serem utilizadas como identificadores, devem ser escritas entre aspas (ou backticks) de acordo com as suas fontes.

Acredito que seja uma boa prática não utilizar keywords e reserved keywords como identificadores em sistemas a serem utilizados por terceiros a longo prazo por alguns motivos:

  1. você deve ficar atento a cada nova versão (caso decida atualizar seu SGBD) que palavras passaram a ser reserved;
  2. palavras reserved precisam de sintaxe especial para serem utilizadas, logo torna-se um pouco mais chato elaborar scripts de manutenção sobre uma base que as utilize;
  3. caso decida mudar para outro SGBD o retrabalho pode aumentar um pouco (o novo SGBD pode ser mais restritivo na utilização destes termos).

Dentro de um ambiente de ensino, manutenção pontual (scripts de correção) ou prototipagem, enfim, cenários efêmeros, eu já abro mão dessa restrição somente para keywords, até porque caso eu utilize sem querer uma palavra reserved, o banco iria me alertar.