2012-03-27 3 views
7

...SQL Serverクエリエラーウィキペディアによると、この構文が正しいよう

INSERT INTO dbo.metadata_type ("name", "publishable") 
VALUES 
("Content Owner", 0), 
("Content Coordinator", 0), 
("Writer", 0), 
("Content Type", 0), 
("State", 1), 
("Business Segment", 0), 
("Audience", 0), 
("Product Life Cycle Stage", 0), 
("Category", 0), 
("Template", 0) 

私はエラーを取得しています。 `で列名をラップしようとしましたが、どちらも機能しませんでした。

エラーコード207、SQLの状態42S22:無効な列名 'Content Owner'。
エラーコード207、SQLの状態42S22: 'コンテンツコーディネーター'の列名が無効です。
エラーコード207、SQLの状態42S22:列名 'Writer'が無効です。
エラーコード207、SQLの状態42S22: 'コンテンツタイプ'の列名が無効です。
エラーコード207、SQLの状態42S22:列名 'State'が無効です。

+2

INSERT INTO dbo.metadata_type (name, publishable) SELECT 'Content Owner', 0 UNION ALL SELECT 'Content Coordinator', 0 UNION ALL 

などを行うための別の方法です! –

+4

単一引用符を使用する以外に、単一のINSERT文で複数のタプルを指定するこの構文は、SQL Server ** 2008 **以降で有効です。これは以前のバージョンでは機能しません。 –

答えて

12

SQL Serverでは、文字列値は'で区切られ、ではありません。

また、列名は角かっこで囲むか、そのまま(空白が含まれていない場合)のままにしてください。

あなたのクエリは、それゆえ、次のようになります。

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
    ('Content Owner', 0), 
    ('Content Coordinator', 0), 
    ('Writer', 0), 
    ('Content Type', 0), 
    ('State', 1), 
    ('Business Segment', 0), 
    ('Audience', 0), 
    ('Product Life Cycle Stage', 0), 
    ('Category', 0), 
    ('Template', 0) 
3

あなたはどの列を挿入するために指定することで、すべての単一引用符の代わりに、自分の価値観のための二重引用符なし引用符を使用する必要があります。

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
3

sqlの 'Error 207'は、テーブルの誤った列名に関連しています。私はあなたが指定されたテーブルに存在しない列名についてのデータを取得しようとしているようです。私はあなたのクエリで正しい列名を使用していることを確認することをお勧めします。また、テーブル名が照会に記載されているかどうかを確認してください。これを試して、あなたがまだ同じエラーを受けているかどうかを教えてください。あなたは、「使用してVARCHARに値を挿入しようとしている場合

のように「」簡単な使用しよう:あなたは1つのinsert文で複数の行を挿入するために探しているなら

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
+0

クエリにエラーがあります。列名を引用符で囲んではいけません。 –

+0

@FrancisP今すぐお試しください。 –

+2

は次のようにする必要があります。INSERT INTO dbo.metadata_type(name、publishable)... –

0

、ここに挿入するために、単一引用符を使用し、それを

関連する問題