1. 程式人生 > >mysql儲存過程插入後返回ID

mysql儲存過程插入後返回ID

select LAST_INSERT_ID()
說明,即使是在並行的時候,多個程式都在插入,仍然能獲得自己的ID,因為每個連線的會話號是不同的。
下面是一段插入一個使用者後,返回該使用者id的程式碼,要保證兩條語句是同一連線執行的。
public static void Ruser(User user){
   DBbean db=new DBbean();
   try {
    String sql="insert into user (name,truename,password,email,qq,registdate,person) values ("+
        "'"+user.getName()+"','"+user.getTruename()+"','"+user.getPassword()+"','"+user.getEmail()+"','"+user.getQq()+"','"+user.getRegistDate()+"',"+user.getPerson()+")";
    db.executeUpdate(sql);
    sql="select LAST_INSERT_ID()";
    ResultSet rs=db.executeQuery(sql);
    rs.next();
    user.setUserid(rs.getLong(1));
    System.out.println(user.getUserid());
    rs.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   db.close();
}