Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Java PreparedStatement truy xuất ID được chèn lần cuối

chuyển Statement.RETURN_GENERATED_KEYS trong prepareStatement() cùng với truy vấn của bạn. Và sau đó sử dụng getGeneratedKeys () của PreparedStatement để lấy ResultSet chứa auto_incremented_id đã chèn của bạn.

String query="Insert INTO Table_A(name, age) (?, ?)";
                //String query="Insert INTO Table_A(name, age) ('abc','123' )";//Doesn't escape
                PreparedStatement prest;
                prest = con.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
                prest.setString(1,"abc");
                prest.setInt(2,123);
                prest.executeUpdate();
                //prest.executeUpdate(query, PreparedStatement.RETURN_GENERATED_KEYS); Throws an error
                //prest.executeQuery(); Throws an error
                ResultSet rs = prest.getGeneratedKeys();
                if(rs.next())
                {
                    int last_inserted_id = rs.getInt(1);
                }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt MySQL làm cơ sở dữ liệu mặc định trong Rails 3?

  2. Làm thế nào một truy vấn có thể nhân 2 ô cho mỗi hàng MySQL?

  3. Truy vấn tham số MySQL

  4. Từ khóa MySQL AS

  5. Cách xử lý có điều kiện phép chia cho 0 với MySQL