如何修复在SQL Server中创建表时出现的语法错误

时间:2013-08-30 19:42:37

标签: c# sql sql-server visual-studio-2010

我试图在SQL Server数据库中创建一个表,但是我遇到了语法错误。

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"From varchar(255),"
                +"To varchar(255),"
                +"Message varchar(255))";

SqlCommand cmd1 = new SqlCommand(quary1, con);
cmd1.ExecuteNonQuery();

它会显示错误消息

  

From附近的语法错误。

如果你给我一个暗示会给出一个解决方案。谢谢

4 个答案:

答案 0 :(得分:6)

From is a reserve word。将其替换为[From]

如果您可以将列重命名为更具描述性的名称,例如FromAddress

,则会更好

TO执行相同操作,因为它也是一个保留字。

答案 1 :(得分:3)

由于 FROM TO 是保留字,您需要像这样更改您的查询

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"chatFrom varchar(255),"
                +"chatTo varchar(255),"
                +"Message varchar(255))";

要查看所有保留字的完整列表,请参阅此链接

<强> http://technet.microsoft.com/en-us/library/ms189822.aspx

答案 2 :(得分:2)

FROMTO是T-SQL中的reserved keywords。将它们与方括号一起使用,例如[FROM][TO]

作为一般建议,请使用不同的列名;)

答案 3 :(得分:1)

解决方案:

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"[From] varchar(255),"
                +"[To] varchar(255),"
                +"[Message] varchar(255))";

SqlCommand cmd1 = new SqlCommand(quary1, con);
cmd1.ExecuteNonQuery();