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 のラテン文字が含まれます。

  • アンダースコア (_)、アットマーク (@)、シャープ記号 (#)。
    識別子の先頭にある特定の記号は、SQL Server で特別な意味を持ちます。「アット」記号で始まる識別子は、ローカル変数またはパラメーターを示します。番号記号で始まる識別子は、一時テーブルまたはプロシージャを示します。2 つの番号記号 (##) で始まる識別子は、グローバル一時オブジェクトを示します。一部の Transact-SQL 関数には、二重アットマーク (@@) で始まる名前が付いています。これらの関数との混同を避けるために、@@ で始まる名前を使用しないことをお勧めします。

于 2013-06-30T12:46:47.837 に答える
0

標準 SQL では、数字で始まるテーブル名は許可されていません。テーブルの名前を文字で始めることができ、その後に数字を使用できます。テーブルを動的に作成することは、データベース設計に取り組む必要があることを示していることに注意してください。 .

于 2013-06-30T13:43:54.847 に答える