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();
}