select id from tablename order by id desc id=tablename.id
select id from table where ((keycols=insertedkeycols)) --按照插入数据中可以确定唯一记录的条件查询-
copy jobs002(Oh! Office) 方法一。SELECT max(id) from tablename 方法二。@@IDENTITY
对于存在并发存储的情况,尤其是对于需要用主子表等多个表,都使用某个表的字段值(如:ID)时,可以换一个角度考虑:保存时,先用Select max(ID) from 表名获取最大ID,在本地加1后,本地的几个相关表都可以使用新生成的ID。这样能保证存到后台时,相关的几个表保存的ID都是相同的。而若出现ID已存在的情况,重新获取一次即可。
如果table有個create_date欄位,默認值是getdate(),也可以找max(create_date)
id=tablename.id
--按照插入数据中可以确定唯一记录的条件查询-
方法一。SELECT max(id) from tablename
方法二。@@IDENTITY
您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
http://www.bestdba.cn/match_discussion.aspx在那里,进入本次评选终选的30位数据库工程师将与您展开积极的互动。他们会为您的问题提供满意的答案,此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。您的帖子位于:
http://www.bestdba.cn/match_discussion3.aspx?pointid=565&pointid2=1&pointid3=5&pcount=stc
非常感谢您对本次活动的支持!
我想说的是在并发情况下, 使用@@IDENTITY取的值会不会受到其他用户操作的影响,也几就是说,我使用@@IDENTITY取出的值是不是我真正插入的数据的?请哪为大人解释一二。
最好不要用IDENTITY字段,使用程序生成的GUID等随机数。
对以后倒数据、同步数据也有好处。
select IDENT_CURRENT('table_name')