संभव डुप्लिकेट की आईडी प्राप्त करें:
How to get the insert ID in JDBC?MySQL और जावा - पिछले डाला मूल्य (JDBC)
हाय, मैं के माध्यम से बाहर जावा डेटाबेस पर कनेक्ट करने के लिए JDBC उपयोग कर रहा हूँ।
अब, मैं कुछ सम्मिलित क्वेरी करता हूं, और मुझे अंतिम डालने वाले मान की आईडी प्राप्त करने की आवश्यकता है (इसलिए, stmt.executeUpdate
के बाद)।
मैं SELECT id FROM table ORDER BY id DESC LIMIT 1
की तरह कुछ की जरूरत नहीं है, क्योंकि मैं संगामिति समस्या हो सकती है।
मैं बस (वक्तव्य के अपने उदाहरण के बारे में) पिछले प्रविष्टि से जुड़े आईडी पुनः प्राप्त करने की जरूरत है।
मैं इस कोशिश की, लेकिन यह JDBC पर काम नहीं करता लगता है: हर बार risultato = -1
public 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;
}
वास्तव में, है, और मैं java.sql.SQLException: Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate() or Connection.prepareStatement().
मिल मैं इस समस्या का समाधान कैसे कर सकते हैं? धन्यवाद Stackoverflow लोग :)
मेरा प्रश्न देखें: http://stackoverflow.com/questions/4224228/preparedstatement-with-statement-return-generated-keys –
डुप्लिकेट [जेडीबीसी में सम्मिलित आईडी कैसे प्राप्त करें?] (Http: // stackoverflow .com/प्रश्न/1915166/कैसे करने वाली मिलता-डालें-आईडी-इन-JDBC) – BalusC