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

本文关键字:错误 语法 何修复 SQL Server 创建 | 更新日期: 2023-09-27 18:29:45

我试图在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附近有语法错误。

如果你给我一个提示,就会给出一个解决方案。感谢

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

From是一个保留字。用CCD_ 2代替。

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

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

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

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

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

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

FROMTO是T-SQL中的保留关键字。将它们与方括号一起使用,如[FROM][TO]

一般建议使用不同的列名,而不是;)

解决方案:

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"[From] varchar(255),"
                +"[To] varchar(255),"
                +"[Message] varchar(255))";
SqlCommand cmd1 = new SqlCommand(quary1, con);
cmd1.ExecuteNonQuery();