2012-05-15 59 views
0

可能重复:
Incorrect syntax near the keyword 'User'在“SELECT * FROM user”附近查询语法错误?

我试图在SQL Server Management Studio 2008的使用非常简单的SQL查询,精确查询:

SELECT * FROM User; 

但当我尝试运行这个时,它给了我错误。

消息156,级别15,状态1,第1行的关键字 '用户' 近
语法不正确。

此表存在,当我尝试用此语句(通过替换表名)选择任何其他表数据时,我得到所有数据。有谁想法如何修复它?试图谷歌它,但没有得到答案。

+1

SQL Server是体面的有关报告这种类型的错误(相对于MySQL的),在这里给出了提示:“附近有语法错误的*关键字*‘用户’”。 – 2012-05-15 15:29:22

+1

如果您对表格使用复数名称,则可以避免很多次这些错误。由于一个表是* set *的东西,'Users'比'User'更好,除非意图是表只会持有一行。 PS我并不是说这是解决方案,这就是为什么我将它作为评论发布。 –

+2

同样很好,我们有六个相同的答案来解决这个问题。任何人都想撤回他们的答案,以消除一些噪音? –

回答

8

User是一个关键字。您将需要使用转义字符。尽量

SELECT * FROM [User] 
+0

+1您有第一个答案;) – mellamokb

2

试试这个:

SELECT * FROM [User]; 
2

User是保留SQL关键字 - 尝试:

SELECT * FROM [User]; 
2

用户是保留关键字,您可以更改TNAME

2

“ USER“是一个SQL Server reserved keyword。你需要逃避它:

SELECT * FROM [User]; 

或者:

SELECT * FROM "User"; 
2

用户是一个保留字。你应该用括号[]

SELECT * FROM [User]