如何在名称是关键字时访问表

时间:2014-03-20 12:54:23

标签: mysql

我刚刚意识到我将表名称指定为“AS”,当我尝试执行选择查询时,我一直收到错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"as"'.

所以我查了保留字,发现“AS”是保留的。嗯,我想我以前知道(用于别名),但只是没有考虑它。

所以要解决这个问题很容易就是重命名表名。但假设我不想,我仍然可以使用某种符号访问此表吗?我试着把它放在引号和双引号中,但没有成功。

3 个答案:

答案 0 :(得分:1)

是使用此(backtiks):

SELECT * FROM `as`

答案 1 :(得分:1)

使用mysql,您可以在反引号中包含保留字(或任何单词),以使单词被解析为文字名而不是关键字:

select * from `AS`

on line documentation下的"标识符引号字符"中详细了解它。

答案 2 :(得分:0)

你应该使用反引号。否则MySQL会将其视为关键字。如果我们使用反引号,那么它们被称为带引号的标识符,它们告诉解析器将它们之间的文本作为文字字符串处理。当您拥有包含关键字或空格的列或表时,它们非常有用。

请参阅:http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html

相关问题