sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es la diferencia entre el acento grave y el corchete en las declaraciones SQL?

SQL Server/T-SQL usa corchetes (así como MS Access), mientras que MySQL usa acentos graves.

Hasta donde yo sé, ¿puede aparecer en la documentación , o uso en pruebas, los corchetes son no válido para MySQL. Entonces, si necesita incluir una palabra clave como nombre de tabla en SQL Server, use [] , y en MySQL use acentos graves o comillas dobles cuando ANSI_QUOTES está habilitado.

De la documentación:

El carácter de comillas del identificador es el acento grave (“`”):

mysql> SELECT * FROM `select` WHERE `select`.id > 100;

Si el modo ANSI_QUOTES SQL está habilitado, también se permite citar identificadores entre comillas dobles:

mysql> CREATE TABLE "test" (col INT);
ERROR 1064: You have an error in your SQL syntax...
mysql> SET sql_mode='ANSI_QUOTES';
mysql> CREATE TABLE "test" (col INT);
Query OK, 0 rows affected (0.00 sec)