数据插入成功后如何得到数据库自动生成的标识列

bigelf 2006-10-07 11:53:40
我要向表里添加一条数据,其中"id"字段为标识列,自动增长。

当插入成功后,我想在java中得到这个标识列中生成的值,应当怎么做?

考虑过用触发器中的虚表Inserted,不知道应当什么时候怎样去查询

或者用调用存储过程的那个prepareStatment?

望高手指教
...全文
255 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigelf 2006-10-08
  • 打赏
  • 举报
回复
我查到了一个方法...

select @@identity

得到最后一次标识列生成的值
  • 打赏
  • 举报
回复
再探讨的话,如果ID字段做了索引,利用ORDER结合TOP 1,效率可能更好.
  • 打赏
  • 举报
回复
如果是一个函数

FUNCTION 插值函数(参数)
INSERT INTO 表 字段和值
SELECT MAX(ID) FROM 表
END FUNCTION

因为ID字段是自动增长的,所以新插入的记录,ID值总是最大的,用MAX(ID)就得到刚刚插入的记录的ID值了.
  • 打赏
  • 举报
回复
插入成功之后,紧接着SELECT id 不就得了?
emin_lee 2006-10-08
  • 打赏
  • 举报
回复
mark!

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧