0

我有以下代码:

SqlConnection connection = new SqlConnection(@"Data Source=MY-PC;Initial Catalog=master;Integrated Security=True");
connection.Open();
 using (SqlCommand command = new SqlCommand("CREATE TABLE Table1 (Weight INT, Name TEXT, Breed TEXT)", connection))
  {
     command.ExecuteNonQuery();
  }
 connection.Close();

使用它,我可以添加一个名为“Table1”的新表。但是,一旦我将表名更改为仅数字,例如使用"CREATE TABLE 123456 (Weight INT, Name TEXT, Breed TEXT)".

我明白了

SQLException:“123456”附近的语法不正确。

如何创建只有数字的表名?

4

2 回答 2

1

在 SQL-Server 中,表名不能以数字开头。请参阅常规标识符规则

[标识符] 的第一个字符必须是以下之一:

  • Unicode 标准 2.0 定义的字母。字母的 Unicode 定义包括从 a 到 z 和从 A 到 Z 的拉丁字符,以及来自其他语言的字母字符。

  • 下划线 (_)、“at”符号 (@) 或数字符号 (#)。
    标识符开头的某些符号在 SQL Server 中具有特殊含义。以“at”符号开头的标识符表示局部变量或参数。以数字符号开头的标识符表示临时表或过程。以双数字符号 (##) 开头的标识符表示全局临时对象。某些 Transact-SQL 函数的名称以双 at 符号 (@@) 开头。为避免与这些函数混淆,建议您不要使用以 @@ 开头的名称。

于 2013-06-30T12:46:47.837 回答
0

在标准 SQL 中,不允许以数字开头的表名。您可以以字母开头的表名,然后可以使用数字。请注意,动态创建表是您需要进行数据库设计的标志.

于 2013-06-30T13:43:54.847 回答