如何自动增加表格中的列?

时间:2011-04-14 20:22:35

标签: c# asp.net sql-server visual-studio-2010

我正在使用Sql Server 2008在Visual Studio2010中构建一个带有产品实例表的数据库,我需要自动增加ProductId列,但是我在列属性菜单中找不到该属性。我正在使用c#和asp.net,如果这是相关的。我已经看到了创建表的代码并将列设置为自动增量,但由于这是我的第一个编码循环,我不知道在哪里放置代码。我知道创建一个新表的唯一方法是通过VS gui,如果这是有道理的。

4 个答案:

答案 0 :(得分:29)

将Identity规范设置为yes

enter image description here

示例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是适用于空表,但如果您有现有数据,请将种子设置为大于最大记录数。)