【发布时间】:2012-07-20 21:22:48
【问题描述】:
可能重复:
How do I escape reserved words used as column names? MySQL/Create Table
我希望这应该很容易回答。我在各种表中有一系列列名,例如 T(x,y,t)、T(x,y,t-1)、T(x+1,y,t) 等。我知道有列名中的括号是不受欢迎的,但是如何在 SELECT 子句中引用这样的名称(带有表名)?
例如,我尝试过类似
SELECT A.JDAY, 'B.T(x,y,t)'
FROM A, B
和
SELECT A.JDAY, B.'T(x,y,t)'
FROM A, B
...但这些似乎都不起作用。
【问题讨论】:
-
反引号是“引用标识符”的默认字符。使用
SET sql_mode = 'ANSI_QUOTES'(或任何包含ANSI_QUOTES 的特殊组合模式),您还可以使用双引号字符。虽然我们通常只在使用已经有双引号的脚本时才启用它并实际使用双引号,但我们希望 MySQL 能够适应。不,反引号字符在 MySQL 中没有任何其他特殊用途,除了“引用”标识符。
标签: mysql