我有一个表,id为主键,默认值为0,现在要导入1000条数据插入的时候用scope_identity()函数得到主键值,如果不是导入的数据,这个值是对的,但现在我导入18000条数据,用scope_identity()得到的主键是从头开始的(现在是20多),导致我插入错误!请高手帮忙解决下

解决方案 »

  1.   

    你在什么时候去调用这个函数?这个函数是返回同一作用域中的标识列内的最后一个标识值如果你不是在导入的同一作用域去获取值, 当然不对
    不同作用域应该考虑用: IDENT_CURRENT
      

  2.   

    晕!你不设置自动增长
    插入2条数据,然后用这个
    scope_identity()函数就可以得到3,为什么要自动增长啊?
      

  3.   

    现在要么就把数据库改增自动增长型,但scope_identity()函数要好些,不知道有哪些方面的优势