दिलचस्प पोस्ट
पायथन में लैम्ब्डा एक्सप्रेशन के अंदर असाइनमेंट जावा में ऑब्जेक्ट का आकार की गणना करें क्लिक पर इनपुट पाठ का डिफ़ॉल्ट मान हटाएं Node.js 7.5 पर 'अनपेक्षित पहचानकर्ता का इंतजार करें' मैं दो तिथियों के बीच अंतर, सेकंड में कैसे जांचूं? "लाइनिंग" क्या है? एफएसओकॉपेन के साथ PHP पोस्ट डेटा कैसे चेक किया जाए कि दिए गए सी ++ स्ट्रिंग या चार * केवल अंक हैं? गतिशील रूप नाम विशेषता <input type = "text" name = "{{variable-name}}"> Angularjs में किसी विशेष फ़ोल्डर पर 777 की अनुमति कैसे सेट करें? स्प्रिंग एकाधिक इंपैप एडेप्टर रोकना / पकड़ना "अवैधअर्जमेंट अपवाद: पैरामीटर इस दृश्य का वंशज होना चाहिए" त्रुटि jquery html () स्क्रिप्ट टैग बाहर स्ट्रिप्स यूआईएलएबल पाठ आकार की गणना क्या यह देखने का एक तरीका है कि क्या WPF वर्तमान में डिजाइन मोड में क्रियान्वित कर रहा है या नहीं?

SQLite में AUTOINCREMENT के लिए प्रारंभ मूल्य सेट करें

मैं SQLite में AUTOINCREMENT फ़ील्ड के लिए प्रारंभ मान कैसे सेट कर सकता हूं?

Solutions Collecting From Web of "SQLite में AUTOINCREMENT के लिए प्रारंभ मूल्य सेट करें"

स्पष्ट रूप से तालिका में मान -1 सम्मिलित करें, फिर पंक्ति हटाएं।

SQLite वेब साइट से :

SQLITE_SEQUENCE सबसे बड़ा ROWID का ट्रैक रखता है कि एक तालिका कभी भी विशेष SQLITE_SEQUENCE तालिका का प्रयोग कर रही है। SQLITE_SEQUENCE तालिका स्वचालित रूप से बनाई जाती है और स्वचालित रूप से प्रारंभ होती है, जब भी एक सामान्य तालिका में एक AUTOINCREMENT स्तंभ बनाया जाता है। SQLITE_SEQUENCE तालिका की सामग्री साधारण अद्यतन, INSERT, और DELETE स्टेटमेंट्स का उपयोग करके संशोधित की जा सकती है। लेकिन इस तालिका में संशोधन करने से एटऑनक्ट्र्रेमेंट की प्रमुख पीढ़ी के एल्गोरिथम पर असर पड़ेगा। सुनिश्चित करें कि आप जानते हैं कि ऐसा परिवर्तन करने से पहले आप क्या कर रहे हैं

मैंने यह कोशिश की, और यह काम करता है:

 UPDATE SQLITE_SEQUENCE SET seq = <n> WHERE name = '<table>' 

जहां एन +1 अगले ROWID है, आप चाहते हैं और तालिका तालिका का नाम है।

इसे करने का एक तरीका स्पष्ट रूप से उस पंक्ति आईडी को निर्दिष्ट करने वाली पहली पंक्ति डालना है जिसे आप शुरू करना चाहते हैं । तब SQLite उस पंक्ति आईडी को सम्मिलित करेगा जो पिछले उच्चतम की तुलना में अधिक है।

मैं नीचे की क्वेरी का उपयोग कर रहा हूँ जो समस्या का हल करता है जब sqlite_sequence तालिका के लिए कोई रिकॉर्ड नहीं है (यानी पहला रिकॉर्ड तालिका में अभी तक जोड़ा नहीं गया था), अन्यथा यह क्रम को अद्यतन करता है

 BEGIN TRANSACTION; UPDATE sqlite_sequence SET seq = <n> WHERE name = '<table>'; INSERT INTO sqlite_sequence (name,seq) SELECT '<table>', <n> WHERE NOT EXISTS (SELECT changes() AS change FROM sqlite_sequence WHERE change <> 0); COMMIT; 

SQLITE_SEQUENCE तालिका के साथ समाधान में, इस तालिका में प्रविष्टि को जोड़ने के बाद तालिका में पहली प्रविष्टि के साथ autoincrement स्तंभ जोड़ दिया जाता है। कुछ मामलों में यह मुसीबतों का कारण हो सकता है (यानी अभी भी 1 से शुरू होता है, वांछित मान से नहीं)

अब मैंने इसे अपने समाधान के रूप में प्रयोग किया था:

 REPLACE INTO sqlite_sequence (name, seq) VALUES ('<table>', <n>) 

मेरे लिए यह काम उपरोक्त उत्तर के लिए धन्यवाद