अगर आप किसी आईडी पर दावा करना चाहते हैं और उसे वापस करना चाहते हैं, तो आप <का उपयोग कर सकते हैं। कोड>अगला () , जो बिना कोई डेटा डाले अनुक्रम को आगे बढ़ाता है।
ध्यान दें कि अगर यह SERIAL
है स्तंभ, आपको तालिका और स्तंभ नाम के आधार पर अनुक्रम का नाम खोजने की आवश्यकता है, जो इस प्रकार है:
Select nextval(pg_get_serial_sequence('my_table', 'id')) as new_id;
इस बात की कोई कास्ट-आयरन गारंटी नहीं है कि आप देखेंगे कि ये आईडी क्रम में वापस आती हैं (अनुक्रम उन्हें क्रम में बनाता है, लेकिन कई सत्र एक आईडी का दावा कर सकते हैं और अभी तक इसका उपयोग नहीं कर सकते हैं, या एक INSERTकोड वापस रोल कर सकते हैं)> और आईडी का पुन:उपयोग नहीं किया जाएगा) लेकिन इस बात की गारंटी है कि वे अद्वितीय होंगे, जो आमतौर पर महत्वपूर्ण बात है।
यदि आप वास्तव में आईडी का उपयोग किए बिना अक्सर ऐसा करते हैं, तो आप अंततः 32-बिट पूर्णांक
के सभी संभावित मानों का उपयोग करेंगे। कॉलम (यानी अधिकतम प्रतिनिधित्व योग्य पूर्णांक तक पहुंचें), लेकिन यदि आप इसका उपयोग केवल तभी करते हैं जब उच्च संभावना हो तो आप वास्तव में उस आईडी के साथ एक पंक्ति डालेंगे यह ठीक होना चाहिए।