Mysql
 sql >> база данни >  >> RDS >> Mysql

Java PreparedStatement извлича последния въведен идентификатор

пас Statement.RETURN_GENERATED_KEYS в prepareStatement() заедно с вашето запитване. И след това използвайте getGeneratedKeys() от PreparedStatement за да получите ResultSet, съдържащ вашия вмъкнат 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Коя е най-добрата структура на базата данни за съхраняване на многоезични данни?

  2. избройте всички таблици в база данни с MySQLi

  3. Фатална грешка:Използване на $this, когато не е в контекста на обекта

  4. Не мога да намеря mysql.sock

  5. Как мога да поставя две заявки в една mysql_query?