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

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

【问题讨论】:

标签: sql sql-server


【解决方案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

            【讨论】:

              猜你喜欢
              • 2018-12-19
              • 1970-01-01
              • 1970-01-01
              • 2012-01-05
              • 1970-01-01
              • 2017-07-12
              • 1970-01-01
              • 1970-01-01
              • 2010-10-11
              相关资源
              最近更新 更多