如何取得新增记录的自动编号字段的值?百分请教 public int executeUpdate(String sql,int autoGeneratedKeys) throws SQLException其实要看驱动支不支持的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Insert之后再Select出来,在或者使用一些和DBMS相关的命令可以做到 楼主的 firmbird(firmbird) 的方法先试试 我的做法是,首先找到这个自增字段的名字,比如SEQ_AUTH_CERT_ID;如果要得到最新更新的id就首先String sql1="select SEQ_AUTH_CERT_ID.nextval from dual";去得到这个最新的id!然后再insert! 要分两部走的~~update 之后是不能直接获得IDENTITY列的值的。你必须在select才能获得。当然还有方法是一步可以实现的,先打开ResultSet设定游标类型是可修改的。此时你就可以获得列的值,也可以对记录进行修改。 楼上的 jacky_fan(窗外) :String sql1="select SEQ_AUTH_CERT_ID.nextval from dual";执行错误啊。MSSQL2000没有这个函数吧,MySQL才有 不同的数据库有不同的方法.SQLServer可以执行insert语句后从系统变量@IDENTITY中取得主键值,Oracle可以从序列中取得就是楼上的Sequence.nextval后再插入到表中。 INSERT INTO jobs (job_desc,min_lvl,max_lvl)VALUES ('Accountant',12,125)SELECT @@IDENTITY AS 'Identity' ,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。 @@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。你可以看一下SQLServer的联机帮助中的相关章节 用insert 语句添加后,再select * from infos order by sid desc 再在结果集把第一条记录拿出来(第一条就是新增记录的sid) 用insert 语句添加后,再select * from infos order by sid desc 再在结果集把第一条记录拿出来(第一条就是新增记录的sid)需要session 是不是还可以这样:比如infos这个table有sid, name, address这些feild, 可以先insert name address这两个feild, 然后依据name address 再去把新插入的record 的sid 找出来,只是特麻烦......... JavaSE中SQL分页查询错误 eclipse中的快捷键 连表的问题 java String 乱码问题 java压缩问题(GZIPOutputStream) 请问哪有java2核心技术 (II),java2图形设计(I,II)下载? NoClassDefFoundError求助?谢谢!!! JAVA中如何弹出一个对话框 实体BEAN的主鍵是自动增加类型的,如何创建? mybatis中session.selectOne(sta,1)语句报错 怎样获得.jar文件的txt文本文件 求质数问题 谁帮我看看到底怎么错了
如果要得到最新更新的id就首先
String sql1="select SEQ_AUTH_CERT_ID.nextval from dual";
去得到这个最新的id!然后再insert!
update 之后是不能直接获得IDENTITY列的值的。
你必须在select才能获得。当然还有方法是一步可以实现的,先打开ResultSet
设定游标类型是可修改的。
此时你就可以获得列的值,也可以对记录进行修改。
MSSQL2000没有这个函数吧,
MySQL才有
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'