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é.
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)