如何通过 SQL 插入增量值

Posted

技术标签:

【中文标题】如何通过 SQL 插入增量值【英文标题】:How to insert an increment value via SQL 【发布时间】:2013-08-03 11:33:21 【问题描述】:

我的数据库中有一个列。我如何通过插入插入一个递增的数字,以便它填充每一行?

【问题讨论】:

为该列添加自动增量 希望您能使用 [Increment Sequence Number on Sql Insert][1] [1] 获得有用的解决方案之一:***.com/questions/15530222/… 【参考方案1】:

你可以去表的设计器添加一个新的列,然后到列的属性选项卡并设置

身份规范

身份:是的 身份增量:1 身份种子:1

标识增量设置每次插入行时将添加的数字。如果是 10,那么你的 id 应该是 10、20、30。

身份种子是您可能需要添加的偏移量(这是出现的第一个数字)如果是 10,那么您的第一个 ID 将是 10。

【讨论】:

【参考方案2】:

使用身份列

假设您希望 Column Id 自动增加一行,将其定义为标识

ID INT IDENTITY (1,1)

第一个 1 是起始值,第二个 1 是种子,它表示增量是哪个整数

在这种情况下,值将从 1 开始,每次插入新行时递增 1。

如果需要任何进一步的帮助,请告诉我

【讨论】:

【参考方案3】:

创建新表时,将数据类型字段设置为 int 并取消选择该列的 Allow Nulls。

然后,在 Properties 列中,展开 Identity Specification 并将 (Is Identity) 更改为 Yes。

默认情况下,标识增量应设置为 1。

【讨论】:

【参考方案4】:

为要增加值的列设置标识种子

Alter Table Names Add Id_new Int Identity(1, 1) Go

Alter Table Names Drop Column ID Go

Exec sp_rename 'Names.Id_new', 'ID', 'Column'

【讨论】:

【参考方案5】:

在创建表时创建该列标识,该表将为每一行自动增加该列。您不必进行显式插入。

【讨论】:

【参考方案6】:

例如为该列创建自动增量

CREATE TABLE table_name
            (
             id int NOT NULL IDENTITY (1, 1),
             name varchar(50) NULL
            )  ON [PRIMARY]

在上面的示例中,id 列是自动递增的。每次插入后,其值将增加 1。

如果您想稍后更改该增量编号,请检查

Reset AutoIncrement in SQL Server after Delete

【讨论】:

以上是关于如何通过 SQL 插入增量值的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个查询(sql server)中插入1条记录后检索自动增量值

如何检索 MS-Access 中的最后一个自动增量值,例如 Sql Server 中的 @@Identity

如何迁移使用主键和自动增量值 SQL 2008 R2 的两个数据库

如何在 SQLite 的插入查询中返回自动增量值?

SQL - 插入并捕获 id 自动增量值

如何在sql中获取下一个自动增量值