Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quelle est la différence entre le backtick et le crochet dans les instructions SQL ?

SQL Server/T-SQL utilise des crochets (ainsi que MS Access), tandis que MySQL utilise des backticks.

Autant que je sache, peut apparaître dans la documentation , ou à utiliser dans les tests, les crochets ne sont pas valide pour MySQL. Donc, si vous avez besoin d'inclure un mot-clé comme nom de table dans SQL Server, utilisez [] , et dans MySQL, utilisez des backticks ou des guillemets lorsque ANSI_QUOTES est activé.

D'après la documentation :

Le guillemet de l'identifiant est le backtick ("`") :

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

Si le mode SQL ANSI_QUOTES est activé, il est également permis de mettre les identifiants entre guillemets doubles :

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)