【发布时间】:2010-11-24 15:09:23
【问题描述】:
【问题讨论】:
标签: sql visual-studio tsql sql-server-express identity
【问题讨论】:
标签: sql visual-studio tsql sql-server-express identity
INSERT INTO dbo.TableWithOnlyIdentity DEFAULT VALUES
这在我的情况下工作得很好。您如何尝试将这些行放入数据库? SQL Server 管理工作室?来自 .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 用于严肃的数据库工作 :-) 马克
【讨论】:
与其尝试依赖一些关于“DEFAULT VALUES”作为关键字的语法,不如让引擎来帮助您...如何显式尝试设置其中一个值,例如
insert into YourTable ( PickOneField ) values ( "whatever" )
因此,即使您只准备一个字段,本地引擎的新记录也应该使用它们各自的默认值填充它们的 REST。
【讨论】: