我有一个表,其主键是int并且为自动增长的。当我向这个表中插入一项并且不提供主键的时候,数据库会给我自动添加一个唯一的主键。我的问题是:
我该怎么得到这个数据库自动给我设置的主键值?
也就是我该怎么得到我刚刚插入的那一项的主键值?

解决方案 »

  1.   

    插入之后马上 select @@identity from youetable 即可
    如果是存储过程可以把@@identity作为插入之后的返回值
      

  2.   

    这涉及到数据库设计的问题,建议不要使用identity字段做主键~如果没有其他唯一性标志(约束/索引),你插进去的记录自己都找不到。
      

  3.   

    为避免多用户操作数据库取值不正确
    正确应该要这样取:
    SELECT * FROM table WHERE (AutoIncreaseColumn = SCOPE_IDENTITY())
      

  4.   

    感谢各位了,msdn中也有这方面的介绍,感兴趣的可以看一下
    Retrieving Identity or Autonumber Values thanks a lot.