sql >> Databasteknik >  >> RDS >> Mysql

Java får det automatiska ökningsnumret för den aktuella infogade raden, för att använda den för en annan fråga?

Ta en titt på Statement#getGeneratedKeys() som returnerar en ResultSet som du kan använda för att hämta alla genererade primära nycklar som

ResultSet rsKeys = statement.getGeneratedKeys();
if (rsKeys.next()) {
    tournament.setId(rsKeys.getLong(1));
}

Observera att du måste ge en ledtråd till JDBC-drivrutinen om att du vill hämta de genererade nycklarna medan du förbereder en PreparedStatement som

connection.prepareStatement(strSQL, Statement.RETURN_GENERATED_KEYS);

eller vid tidpunkten för exekvering av ett Statement som

statement.executeUpdate(strSQL, Statement.RETURN_GENERATED_KEYS);

Referens:
Statement #getGeneratedKeys()




  1. Hur TIME() fungerar i MariaDB

  2. SQL Server - stoppa eller bryt exekvering av ett SQL-skript

  3. Sql LEFT OUTER JOIN med WHERE-sats

  4. JSON_OBJECTAGG() Funktion i Oracle