Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist der Unterschied zwischen dem Backtick und der eckigen Klammer in SQL-Anweisungen?

SQL Server/T-SQL verwendet eckige Klammern (sowie MS Access), während MySQL Backticks verwendet.

Soweit ich weiß, kann in der Dokumentation auftauchen oder beim Testen verwendet werden, sind eckige Klammern nicht gültig für MySQL. Wenn Sie also ein Schlüsselwort als Tabellennamen in SQL Server einschließen müssen, verwenden Sie [] , und verwenden Sie in MySQL Backticks oder doppelte Anführungszeichen, wenn ANSI_QUOTES aktiviert ist.

Aus der Dokumentation:

Das Anführungszeichen des Bezeichners ist der Backtick („`“):

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

Wenn der SQL-Modus ANSI_QUOTES aktiviert ist, dürfen Bezeichner auch in doppelte Anführungszeichen gesetzt werden:

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)