gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-29 00:10:21 26 4
gpt4 key购买 nike

我以为会有另一个问题,但我找不到。在带有 PHP 的 MySQL 中,我通常用反引号封装我的字段名称以掩盖任何保留的名称或字符。但是,我的一位同事指出,这也可以使用方括号来实现。排除反引号与 SQL Server 不兼容的事实(显然),有什么区别?我应该使用哪个?

SELECT `username` FROM `users`
SELECT [username] FROM [users]

最佳答案

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

据我所知,可以turn up in documentation , 或用于测试,方括号对 MySQL 无效。因此,如果您需要在 SQL Server 中将关键字作为表名括起来,请使用 [],而在 MySQL 中使用反引号,或者在启用 ANSI_QUOTES 时使用双引号。

From the documentation:

The identifier quote character is the backtick (“`”):

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

If the ANSI_QUOTES SQL mode is enabled, it is also permissible to quote identifiers within double quotation marks:

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)

关于mysql - SQL语句中的反引号和方括号有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com