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

प्राथमिक कुंजी को PostgreSQL में X अंक कैसे बनाएं?

आप दो पहलुओं को मिला रहे हैं:

  • डेटा प्रकार कुछ मानों की अनुमति देना आपके पीके कॉलम के लिए
  • प्रारूप आपने प्रदर्शन के लिए चुना है

AUTO_INCREMENT MySQL की एक गैर-मानक अवधारणा है, SQL सर्वर IDENTITY(1,1) का उपयोग करता है , आदि।
एक <का उपयोग करें कोड>धारावाहिक पोस्टग्रेज में कॉलम:

CREATE TABLE users (
  user_id serial PRIMARY KEY
, ...
)

यह एक छद्म प्रकार है जिसे पूर्णांक . के रूप में लागू किया गया है संलग्न SEQUENCE<से कॉलम डिफ़ॉल्ट आरेखण के साथ डेटा प्रकार /कोड> . पूर्णांक आपके मामले (-2147483648 से +2147483647) के लिए आसानी से काफी बड़ा है।

यदि आपको वास्तव में अधिकतम 8 दशमलव अंकों वाली संख्याओं को लागू करने की आवश्यकता है, तो एक जाँच करें बाधा :

CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)

किसी भी तरह से संख्या प्रदर्शित करने के लिए - 0-गद्देदार से 8 अंक, आपके मामले के लिए, to_char() :

SELECT to_char(user_id, '00000000') AS user_id_8digit
FROM   users;

यह बहुत तेज़ है। ध्यान दें कि आउटपुट text . है अब, नहीं पूर्णांक .
SQL Fiddle.

आपके कोड में कुछ अन्य चीज़ें MySQL-विशिष्ट हैं:



  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. PG::ConnectionBad (FATAL:pg_hba.conf होस्ट 172.17.0.1, उपयोगकर्ता XXX, डेटाबेस XXX, SSL बंद के लिए कनेक्शन को अस्वीकार करता है):

  3. पावरशेल पोस्टग्रेज डीबी से कनेक्ट करें

  4. PostgreSQL कॉन्फ़िगरेशन चीट शीट

  5. स्प्रिंग बूट टेस्ट के लिए एंबेडेड पोस्टग्रेज