21

この質問とほとんど同じです。

しかし、これを Visual Studio 2008 の SQL Server Express で動作させることができないようです。

同じテーブル レイアウト、ID と主キーを持つ 1 つの列。

4

2 に答える 2

37
 INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES

私の場合、これは問題なく機能します。これらの行をデータベースにどのように取り込もうとしていますか?SQL Server Mgmt Studio?.NETアプリからのSQLクエリ?

「新しいクエリ」ウィンドウでVisualStudio内を実行すると、次のようになります。

DEFAULTVALUESSQL構造またはステートメントはサポートされていません。

==> OK、それでVisual Studioはそれを処理できません-それはSQLServerのせいではなく、VisualStudioのせいです。代わりに、実際のSQLManagementStudioを使用してください。そこでは問題なく動作します。

ADO.NETの使用も魅力のように機能します。

using(SqlConnection _con = new SqlConnection("server=(local);
                             database=test;integrated security=SSPI;"))
{
    using(SqlCommand _cmd = new SqlCommand
            ("INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES", _con))
    {
        _con.Open();
        _cmd.ExecuteNonQuery();
        _con.Close();
    }
}   

VSの制限のようです-深刻なDB作業にVSを使用しないでください:-)マーク

于 2009-09-01T12:14:27.570 に答える
-3

キーワードとして「DEFAULT VALUES」に関するいくつかの構文に依存しようとする代わりに、エンジンにそれを手伝ってもらいましょう...

insert into YourTable ( PickOneField ) values ( "whatever" )

したがって、1 つのフィールドのみを準備している場合でも、ネイティブ エンジンによる新しいレコードは、それらの REST にそれぞれのデフォルト値を入力する必要があります。

于 2009-09-01T12:25:20.807 に答える