我导入表里一些数据,id是自增的,导入完成后我把id改回不能自增了,现在程序里往数据库里插入数据的时候会提示“违反了PRIMARY KEY 约束,不能在对象中插入重复键”,我知道新插入的id肯定和原来导入的重复了,可是应该怎么操作才能让新插入的id在原有的id后面呢

解决方案 »

  1.   

    在你程序的后台做一个方法,得到当前表的最大ID

    写一个存储过程,得到最大值加一即可
    create proc P_Getmax
    @id int
    as
    begin
    select MAX(isnull(id,0))+1 from table1
    end在方法里面得到即可,把这个当成你添加数据的ID即可。
      

  2.   

    没必要呀,查询时再处理就行了要不然DROP 约束,
      

  3.   


    让id继续自增,插入的时候不用插入id,或者如果允许id重复,id不要设置为主键
      

  4.   

    建议继续实用ID自增,保证ID的唯一性。如果你的需求ID不用自增,在插入时,要先对ID进行判断,再做插入操作。如果允许ID重复的话,注意取消ID主键。