`
hybxiaodao
  • 浏览: 246700 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

获取自动生成的键值

SQL 
阅读更多
Statement.RETURN_GENERATED_KEYS表示获取自动生成的键值
如果一条记录中,要插入一个自动获取的键值,可以这样写:
表的类型是(id,pid,rootid,title,cont,pdate,isleaf)
其中id是自动生成的键值
String sql = "insert into article values(null,0,?,?,?,now(),0)";
PreparedStatement pstmt =conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
//Statement.RETURN_GENERATED_KEYS表示:pstmt在创建过程中会生成多个key


pstmt.setInt(1,-1);  //暂时将rootid的值设置为-1,后面在更新
pstmt.setString(2,title);
pstmt.setString(3,cont);
pstmt.executeUpdate();

ResultSet rskey = pstmt.getGeneratedKeys();
//通过pstmt.getGeneratedKeys()方法可以返回类型为resultSet的结果集,将keys保存到结果集中
rskey.next();
int key = rskey.getInt(1);

String sqlroot = "update article set rootid="+key +" where id="+key;
stmt.executeUpdate(sqlroot);
//执行更新操作,就能够把rootid的值改成自动生成的值id

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics