जावा से स्क्लाइट का उपयोग कर अंतिम डाली गई आईडी प्राप्त करने का सबसे अच्छा तरीका क्या है? Google मुझे अलग-अलग उत्तर दे रहा है - कुछ कहते हैं कि अंतिम-सम्मिलित-पंक्ति का चयन करें; दूसरों ने कॉल स्टेटमेंट कहा .getGeneratedKeys()। लेने का सबसे अच्छा तरीका क्या है? (मैं सिर्फ आईडी को वापस करना चाहता हूं, अन्य आवेषणों या किसी भी चीज़ के लिए इसका उपयोग न करें।)जावा से स्क्लाइट का उपयोग कर अंतिम डाली गई आईडी प्राप्त करने का सबसे अच्छा तरीका क्या है?
उत्तर
यदि आपका जेडीबीसी ड्राइवर इसका समर्थन करता है तो getGeneratedKeys() का उपयोग करें। आप डालने के बाद खुद को कुंजी प्राप्त करने की कोशिश करने के आसपास चारों ओर मक नहीं करना चाहते हैं। यदि आपका चालक GetGeneratedKeys() का समर्थन नहीं करता है तो मुझे डालने से पहले कुंजी से अगला मान प्राप्त होगा।
या तो दृष्टिकोण एक ही सटीक SQL कथन निष्पादित करता है, लेकिन java.sql.Statement.getGeneratedKeys()
विभिन्न अंतर्निहित डेटाबेस के लिए अधिक पोर्टेबल है।
या तो sqlite3_last_insert_rowid()
सी एपीआई फ़ंक्शन या last_insert_rowid()
SQL फ़ंक्शन का उपयोग अंतिम प्रविष्टि के दौरान उत्पन्न पंक्ति को पुनर्प्राप्त करने का सही तरीका है। आप सीधे सी API तक पहुंच नहीं है, तो
SELECT function-name();
इसलिए, यदि आप एक SELECT
बयान के माध्यम से अदिश समारोह last_insert_rowid()
आह्वान कर सकते हैं:
SQLite के रूप में SQL scalar function वाक्य रचना का समर्थन करता है।
आप SQLiteJDBC कार्यान्वयन के लिए source code को देखें, तो (इस तुम क्या प्रयोग कर रहे हैं है?) आप इस वास्तव में क्या है कि JDBC आवरण के लेखक किया गया है कि देखेंगे:
ResultSet getGeneratedKeys() throws SQLException {
if (getGeneratedKeys == null) getGeneratedKeys = conn.prepareStatement(
"select last_insert_rowid();");
return getGeneratedKeys.executeQuery();
}
- 1. जेएस एपीआई का उपयोग कर अंतिम डाली गई आईडी कैसे प्राप्त करें?
- 2. क्या MySQL में एक गैर-ऑटो वृद्धि वाले कॉलम की अंतिम डाली गई आईडी प्राप्त करने का कोई तरीका है?
- 3. अंतिम डाली गई पंक्ति से मूल्य कैसे प्राप्त करें?
- 4. लिनक्स पर मशीन आईडी प्राप्त करने का सबसे अच्छा तरीका?
- 5. मैं SQL स्क्रिप्ट के भीतर अंतिम डाली गई पंक्ति आईडी का उपयोग कैसे कर सकता हूं?
- 6. ExecuteScalar का उपयोग कर एक डाली गई पंक्ति से जेनरेट आईडी कैसे प्राप्त करें?
- 7. जावा का उपयोग कर फ़ाइल को स्थानांतरित करने का सबसे अच्छा तरीका क्या है?
- 8. स्कैला (या जावा) से पायथन कोड का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 9. जावा एनम दस्तावेज करने के लिए जावाडॉक का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 10. पर्ल सरणी के अंतिम एन तत्व प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 11. जावा से ऐप्पलस्क्रिप्ट निष्पादित करने का सबसे अच्छा तरीका
- 12. http और json पर 2 स्क्लाइट टेबल को सिंक करने का सबसे अच्छा तरीका क्या है?
- 13. oprofile से सबसे उपयोगी आउटपुट प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 14. फोनगैप का उपयोग कर सर्वर के साथ संवाद करने का सबसे अच्छा तरीका क्या है?
- 15. जावा वेब सेवा का नकल करने का सबसे अच्छा तरीका
- 16. Django, कुछ से पहले और अंतिम तत्व प्राप्त करने का सबसे अच्छा, सबसे तेज़ तरीका क्या है, Customer.objects.xxxx
- 17. सबसे अच्छा तरीका है जावा
- 18. RedirectToAction का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 19. सी # कीवर्ड से उचित प्रकार का नाम प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 20. हस्ताक्षर ऑनलाइन कैप्चर करने का सबसे अच्छा तरीका क्या है?
- 21. निर्भरता इंजेक्शन का उपयोग कर एएसपी.NET एमवीसी समाधान व्यवस्थित करने का सबसे अच्छा तरीका क्या है?
- 22. jQuery प्रदर्शन करने का सबसे अच्छा तरीका क्या है .change()
- 23. एमवीसी का उपयोग कर एएसपी.नेट में एपीआई को लागू करने का सबसे अच्छा तरीका क्या है?
- 24. जावा में कंसोल-इनपुट प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 25. MySQL का उपयोग कर URL मान को संग्रहीत करने का सबसे अच्छा तरीका क्या है?
- 26. जावा में जावा को पार्स करने का सबसे अच्छा तरीका
- 27. जावा में लगातार एक एसिंक्रोनस कतार को संसाधित करने का सबसे अच्छा तरीका क्या है?
- 28. MySQL क्लॉज का उपयोग करने का सबसे अच्छा तरीका "ActiveRecord
- 29. जावा में टेक्स्ट उपयोगकर्ता-इंटरफेस (ncurses-like) कार्यक्षमता प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 30. धागे को धीमा करने का सबसे अच्छा तरीका? नींद का उपयोग कर रहा है() ठीक है?
किस तरह से "सम्मिलित करने से पहले कुंजी से अगला मूल्य" डालने के बाद सबसे बड़ा मूल्य "से बेहतर है? दोनों में एक ही प्रकार की दौड़ की स्थिति होती है, और दोनों मोनोटोनिक, कुंजी की एकल वृद्धि पर भरोसा करते हैं। –
धारणा यह है कि सम्मिलित करने से पहले प्राप्त की गई कुंजी लक्ष्य तालिका की किसी भी क्वेरी पर आधारित नहीं होगी बल्कि कुछ प्रमुख प्रदाता से होगी। ओरेकल शब्दों में यह दोहरी से sequence_name.nextval का चयन करेगा। मैं एसक्यूएल लाइट के लिए विवरण नहीं जानता लेकिन कुछ एपीआई कॉल जो अपने स्वायत्त लेनदेन में पूरी तरह से सम्मिलित से एक कुंजी लौटाता है। उस ने कहा ... getGeneratedKeys() का उपयोग करें। –
पंक्ति = stmt.getGeneratedKeys()। GetInt (1); –