今天用SQL SERVER2005插入数据,出现了点问题,请大虾们帮忙看下是什么原因。
      表中主键ID采用自动编号, 假如表中原来的主键ID为140,然后我用SQL INSERT语句执行一条插入语句,执行成功后,新插入的数据并没有在表中显示出来。
      我再用右键打开表,直接在表的最后一行手动插入,这样可以成功插入。不过这时候的主键ID却变为了142,跳过了141,但用SQL insert语句插入的记录还是没看到,不知道这事什么原因,请大侠们帮帮忙。

解决方案 »

  1.   


    用SELECT语句查询也是一样,手动插入的记录可以看到,但用INSERT插入的还是没有 就是每用INSET语句执行一次,自动编号的ID就会跳过1
      

  2.   

    在向含有自增列的表插入数据时,如果直接插入,则自增列不能出现在插入列表中.如果你想同时插入自己的自增列值,则要设置 
    SET IDENTITY_INSERT ON
    但是,所插入的自增列值不能比该列当前自增值更小,否则会出错.你向表中插入数据时,是怎么做的?
      

  3.   


    字段1自动编号
    insert into table1(字段2,字段3,字段4....)values('11','22','33'...)
      

  4.   

    插入后,直接用 select 语句检查一下看能不能查到数据.
      

  5.   

    表中没看到有触发器,刚开始用INSERT插入100多条的时候还是可以插入的,但今天发现新添加的记录都不能再数据库中显示了。
      

  6.   


    用SELECT查询也是看不到INSERT插入的记录
      

  7.   

    插入一条记录前后,分别用 select count(*) from tb 检查一下记录行数,看总行数是否在增加.
      

  8.   

    insert into table1 ..语句有提示插入成功吗?如果插入失败,自增列也会加1的.也就是你的这种情况.
      

  9.   

    问题解决了,其实INSERT语句插入的后数据是有插入,只是我打开表查看的时候,后面插入的数据并不是再最后一行显示,也就是说插入的数据顺序是随机的,我每次都从最下面开始找所以每找到,还以为是没插入。不好意思啊,咱太粗心了,谢谢各位的热心解答。