मैं इस प्रकार एक प्रश्न है का उपयोग कर जावा में एक जनरेट की गई कुंजी ढूंढने में असमर्थ:PreparedStatement के getGeneratedKeys()
String SQL = "insert into table (id, name) values (sequence.nextval, ?)";
मैं तो इस तरह की एक PreparedStatement बनाने:
//initiate connection, statement etc
pStatement = connection.prepareStatement(SQL, Statement.RETURN_GENERATED_KEYS);
pStatement.setString(1,'blabla');
pStatement.executeUpdate();
ResultSet rs = pStatement.getGeneratedKeys();
while (rs.next()){
//debugging here to see what rs has
}
जब क्रियान्वित करने और डिबगिंग में वह डीबग पॉइंट, मुझे लगता है कि मेरे परिणामसेट में केवल एक कुंजी है, एक स्ट्रिंग - आईडी की तरह मुझे बिल्कुल उम्मीद नहीं है। डेटाबेस की जांच करते समय सबकुछ ठीक काम करता है, आईडी डाली जाती है और सबकुछ मिलता है। getGeneratedKeys() के बारे में कुछ है; जो मुझे भ्रमित कर रहा है।
मैं क्या गलत कर रहा हूं?
अग्रिम
आप उत्पन्न कुंजी 'का उपयोग नहीं कर रहे हैं, तो आप सिर्फ अपने सम्मिलित में एक जनरेटर का उपयोग कर रहे बयान। 'getGeneratedKeys()' का उपयोग आईएनएसईआरटी (पहचान कॉलम द्वारा या ट्रिगर के माध्यम से) के रूप में डीबी द्वारा उत्पन्न कुंजी को वापस करने के लिए किया जाता है। –