SQL语句中的反引号和方括号有什么区别?

我以为还会有另一个问题,但我找不到。在使用PHP的MySQL中,我通常用反引号封装字段名,以掩盖任何保留的名称或字符。但是,我的一位同事指出,这也可以使用方括号来实现。排除反引号与SQL

Server不兼容的事实(显然),有什么区别?我应该使用哪个?

SELECT `username` FROM `users`

SELECT [username] FROM [users]

回答:

SQL Server / T-SQL使用方括号(以及MS Access),而MySQL使用反引号。

据我所知,可以在文档中露面,或在测试中使用,方括号是

不是 有效的MySQL。因此,如果需要在SQL

Server中将关键字作为表名括起来,请使用[],而在MySQL中请使用反引号,或在ANSI_QUOTES启用时使用双引号。

从文档中:

标识符引号是反引号(“`”):

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

如果启用了ANSI_QUOTES SQL模式,则也可以在双引号中引起标识符的引用:

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)

以上是 SQL语句中的反引号和方括号有什么区别? 的全部内容, 来源链接: utcz.com/qa/427145.html

回到顶部