如何只用一个IDENTITY列插入表(SQL Express)

Tho*_*erg 21 sql t-sql identity sql-server-express visual-studio

这个问题几乎一样.

但我似乎无法在Visual Studio 2008中使用SQL Server Express.

相同的表布局,一列具有标识和主键.

mar*_*c_s 37

 INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES
Run Code Online (Sandbox Code Playgroud)

在我的情况下这很好用.你是如何尝试将这些行放入数据库的?SQL Server Mgmt Studio?.NET应用程序的SQL查询?

在"新查询"窗口中运行Visual Studio,我得到:

不支持DEFAULT VALUES SQL构造或语句.

==>好的,所以Visual Studio无法处理它 - 这不是SQL Server的错误,而是Visual Studio的错误.使用真正的SQL Management Studio - 它在那里工作得很好!

使用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();
    }
}   
Run Code Online (Sandbox Code Playgroud)

似乎是VS的限制 - 不要使用VS进行严肃的数据库工作:-) Marc