PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

किसी फ़ील्ड में PostgreSQL अनुक्रम बनाना (जो रिकॉर्ड की आईडी नहीं है)

CREATE SEQUENCE का उपयोग करें :

CREATE SEQUENCE scores_job_id_seq;  -- = default name for plain a serial

फिर scores.job_id . में डिफ़ॉल्ट कॉलम जोड़ें :

ALTER TABLE scores ALTER COLUMN job_id SET DEFAULT nextval('scores_job_id_seq');

अगर आप बाइंड करना चाहते हैं कॉलम का क्रम (इसलिए कॉलम के डिलीट होने पर यह डिलीट हो जाता है), यह भी चलता है:

ALTER SEQUENCE scores_job_id_seq OWNED BY scores.job_id;

यह सब छद्म डेटा प्रकार serial . का उपयोग करके बदला जा सकता है कॉलम के लिए job_id आरंभ करने के लिए:

  • Postgres में सीरियल प्राथमिक कुंजी कॉलम का उपयोग करने वाली तालिकाओं का सुरक्षित और सफाई से नाम बदलें?

यदि आपकी तालिका में पहले से ही पंक्तियाँ हैं, तो आप SEQUENCE . सेट करना चाह सकते हैं अगले उच्चतम मान तक और तालिका में अनुपलब्ध सीरियल मान भरें:

SELECT setval('scores_job_id_seq', COALESCE(max(job_id), 1)) FROM scores;

वैकल्पिक रूप से:

UPDATE scores
SET    job_id = nextval('scores_job_id_seq')
WHERE  job_id IS NULL;
  • पोस्टग्रेएसक्यूएल में उपयोग किए गए और अप्रयुक्त मानों के लिए कुशलतापूर्वक अनुक्रम की जांच कैसे करें
  • पोस्टग्रेज़ मैन्युअल रूप से अनुक्रम को बदलते हैं
  • सिंक से बाहर हो जाने पर पोस्टग्रेज के प्राथमिक कुंजी अनुक्रम को कैसे रीसेट करें?

केवल शेष अंतर, एक serial कॉलम NOT NULL पर भी सेट है . आप चाहें या न चाहें:

ALTER TABLE scores ALTER COLUMN job_id SET NOT NULL;

लेकिन आप नहीं बस मौजूदा integer के प्रकार को बदलें :

ALTER TABLE scores ALTER job_id TYPE serial;

serial वास्तविक डेटा प्रकार नहीं है। यह CREATE TABLE . के लिए केवल एक उल्लेखनीय सुविधा सुविधा है .
पोस्टग्रेज 10 या बाद के संस्करण में IDENTITY . पर विचार करें कॉलम:

  • ऑटो इंक्रीमेंट टेबल कॉलम


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में एक तिथि से सप्ताह घटाएं

  2. तालिका में पहली पंक्ति को हटाने से कैसे रोकें (PostgreSQL)?

  3. PostgreSQL 11 में विभाजन सुधार

  4. Heroku . पर प्यूमा क्लस्टर कॉन्फ़िगरेशन

  5. Postgres फ़ंक्शन में स्तंभ नाम के रूप में पैरामीटर का उपयोग करना