zoukankan      html  css  js  c++  java
  • SQL Server identity种子

    背景:

          用identity修饰列可以使它自动增长

    例了:

          create table T(ID int not null identity(1,1),
          Data nvarchar(32));

          插入数据

         declare @i as int =1;
         while(@i<10)
         begin
               insert into T values(replicate(cast(@i as nchar(1)),10))
               set @i = @i +1;
        end

             

            用dbcc checkident('Table_Name'); 查看表的种子值。

            

            删除数据:

                        delete from T
                        where ID >1;
                        go

                        dbcc checkident('Table_Name');--这时种子值还是9

           再次插入数据:

                            insert into T(Data) values('AAAA'); 

           查看数据:

                      

    解决方法、

                重设种子值:

                              dbcc checkident('T',reseed,2);-- 到这一步问题就已经解决了

                插入数据:

                           insert into T(Data) values('BBB');

                输出:

                       select * fom T;

                       

    重点:

          这个种子值是  2  而表是有一个值是 10 如果一直长下去,会发生什么事呢?让我们多插入几条数据看一下

          插入数据:

                     declare @i as int =1;
                     while(@i<10)
                     begin
                             insert into T values(replicate('NNN',10))
                             set @i = @i +1;
                     end

          输出:

                

    重点2、

            如果ID是主键什么办。

            会报错插入会失败。

            

        

  • 相关阅读:
    UDP and netstat
    UDP learn by Python3
    UDP headers and checksum
    routetrace
    IPv4 headers
    Commands for IP
    IP checksum
    POJ 3667 Hotel 线段树处理区间信息
    【枚举】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) Div2C题
    二分图最大匹配模板 HDU1083
  • 原文地址:https://www.cnblogs.com/JiangLe/p/4005503.html
Copyright © 2011-2022 走看看