sql >> Databáze >  >> RDS >> Mysql

Java PreparedStatement načítá poslední vložené ID

předejte Statement.RETURN_GENERATED_KEYS v prepareStatement() spolu s vaším dotazem. A pak použijte getGeneratedKeys() z PreparedStatement získat ResultSet obsahující vaše vložené auto_incremented_id.

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. Oracle SQL – Identifikujte sekvenční rozsahy hodnot

  2. Urychlete operace hromadného vkládání pomocí NHibernate

  3. Postgresql rekurzivní vlastní připojení

  4. Oracle, nastavte datum a čas jako první den v měsíci