olası Kopyaları kimliği alın:
How to get the insert ID in JDBC?MySQL & Java - Son eklenen değere (JDBC)
Merhaba, Java dışarı aracılığıyla veritabanı üzerinde bağlanmak üzere JDBC kullanıyorum.
Şimdi, bazı ekleme sorgusu yapıyorum ve son eklenen değerin kimliğini almam gerekiyor (bu nedenle, stmt.executeUpdate
'dan sonra).
Eşzamanlılık sorunları yaşadığım için SELECT id FROM table ORDER BY id DESC LIMIT 1
gibi bir şeye ihtiyacım yok.
Sadece son ekleme ile ilişkili kimliği (Deyim örneğim hakkında) almam gerekiyor.
Bunu denedim, ama JDBC çalışmıyor görünüyor: Aslındapublic Integer insertQueryGetId(String query) {
Integer numero=0;
Integer risultato=-1;
try {
Statement stmt = db.createStatement();
numero = stmt.executeUpdate(query);
ResultSet rs = stmt.getGeneratedKeys();
if (rs.next()){
risultato=rs.getInt(1);
}
rs.close();
stmt.close();
} catch (Exception e) {
e.printStackTrace();
errore = e.getMessage();
risultato=-1;
}
return risultato;
}
, her zaman risultato = -1
ve bu sorunu çözebilirsiniz nasıl
java.sql.SQLException: Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate() or Connection.prepareStatement().
olsun? Teşekkür Stackoverflow İnsanlar :)
Sorularıma göz atın: http://stackoverflow.com/questions/4224228/preparedstatement-with-statement-return-generated-keys –
[JDBC'de ekleme tanıtıcısı nasıl alınır?] 'Nın kopyası (http: // stackoverflow .com/questions/1915166/nasıl yapılır-it-it-id-in-jdbc) – BalusC