我正在使用Sql Server 2008在Visual Studio2010中构建一个带有产品实例表的数据库,我需要自动增加ProductId列,但是我在列属性菜单中找不到该属性。我正在使用c#和asp.net,如果这是相关的。我已经看到了创建表的代码并将列设置为自动增量,但由于这是我的第一个编码循环,我不知道在哪里放置代码。我知道创建一个新表的唯一方法是通过VS gui,如果这是有道理的。
答案 0 :(得分:29)
将Identity规范设置为yes
示例SQL:
CREATE TABLE [dbo].[HomePageImages](
[RecordId] [int] IDENTITY(1,1) NOT NULL,
[AlternateText] [varchar](100) NOT NULL,
[ImageName] [varchar](50) NOT NULL,
[NavigateUrl] [varchar](200) NOT NULL,
[ImageUrl] AS ('/content/homepageimages/'+[ImageName]),
[DisplayFrom] [datetime] NULL,
[DisplayTo] [datetime] NULL,
CONSTRAINT [PK_HomePageImages] PRIMARY KEY CLUSTERED
(
[RecordId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
答案 1 :(得分:6)
在SQL Server 08中,您希望将“Identity”属性设置为“Yes”并定义它的初始值(默认为1)及其增量(也默认为1)。
这将导致它在每个新记录上增加1。
答案 2 :(得分:2)
您需要在sql中使用标识yes属性。
它位于底部的属性窗口中 - 抱歉没有运行Windows。
每次插入新记录时,这都会自动增加您的ID。
要获取id值,您可以使用sqls SCOPE_IDENTITY()函数来检索已创建的ID。
答案 3 :(得分:1)
在SSMS中,在对象资源管理器中找到您的表,右键单击,然后选择“设计”。选择要自动增量的列,然后查看下面的“列属性”部分。应该有一个带有[+]符号的标识规范项。展开它,为“Is Identity”选择“Yes”,如有必要,设置增量(有时您可能希望新值比最后一个多一个),并将起始值设置为“种子”(1是适用于空表,但如果您有现有数据,请将种子设置为大于最大记录数。)