答案 0 :(得分:37)
INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES
在我的情况下这很好用。你是如何尝试将这些行放入数据库的? 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();
}
}
似乎是VS的限制 - 不要使用VS进行严肃的数据库工作:-) 马克
答案 1 :(得分:-3)
不要试图依赖关于“DEFAULT VALUES”的一些语法作为关键字,让引擎帮助你......如何明确地尝试设置其中一个值,例如
insert into YourTable ( PickOneField ) values ( "whatever" )
所以,即使你只是在预备一个字段,本机引擎的新记录应该用它们各自的默认值填充它们的REST。