.Net SqlClient数据提供程序:“f”附近的语法不正确

.Net SqlClient数据提供程序:“f”附近的语法不正确,.net,sql-server,.net,Sql Server,我正在尝试运行以下查询,其中id是主键。425F中的F带红色下划线,显示以下错误: “f”附近的语法不正确 有人知道发生了什么事吗 SELECT * FROM table WHERE id = E9485FD0-0888-425F-B1B6-BC32B4B5045E 我没有将其声明为varchar变量的选项,尽管这确实修复了错误。这里有一些问题: 您正在使用保留关键字作为表名。SQL Server将允许您这样做,但任何时候对该表运行查询时,都需要将表名括在方括号内,如下所示:SELECT*F

我正在尝试运行以下查询,其中id是主键。425F中的F带红色下划线,显示以下错误:

“f”附近的语法不正确

有人知道发生了什么事吗

SELECT * 
FROM table
WHERE id = E9485FD0-0888-425F-B1B6-BC32B4B5045E

我没有将其声明为varchar变量的选项,尽管这确实修复了错误。

这里有一些问题:

您正在使用保留关键字作为表名。SQL Server将允许您这样做,但任何时候对该表运行查询时,都需要将表名括在方括号内,如下所示:SELECT*FROM[table]

在对UNIQUEIDENTIFIER执行比较操作时,需要将其括在如下单引号内:其中id='E9485FD0-0888-425F-B1B6-BC32B4B5045E'

因此,在应用这两个更改后,您的查询应该如下所示:

SELECT * FROM [table] WHERE id = 'E9485FD0-0888-425F-B1B6-BC32B4B5045E'

id列的类型是什么?如果id列是唯一标识符,请使用以下文字语法搜索GUID值:其中id={GUID'E9485FD0-0888-425F-B1B6-BC32B4B5045E'}您还可以将值括在单引号中,例如:“E9485FD0-0888-425F-B1B6-BC32B4B5045E”,它将隐式转换为GUID类型尝试完全限定您的表缺少引号”