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

PostgreSQL 9.1 प्राथमिक कुंजी ऑटोइनक्रिकमेंट

serial कमोबेश एक कॉलम प्रकार है जो integer serial . कह रहा है text text कहने जैसा है , बस serial say कहें :

CREATE TABLE IF NOT EXISTS "category" (
  "id" SERIAL PRIMARY KEY,
  "name" varchar(30) DEFAULT NULL
);

यदि आप स्वयं अनुक्रम बनाना चाहते हैं तो आप id . का डिफ़ॉल्ट मान बनाना चाहते हैं अनुक्रम में अगला मान और इसका अर्थ है default nextval('your_seq') :

CREATE SEQUENCE your_seq;
CREATE TABLE IF NOT EXISTS "category" (
  "id" integer PRIMARY KEY default nextval('your_seq'),
  "name" varchar(30) DEFAULT NULL
);

सामान्य serial का अनुकरण करने के लिए व्यवहार आप तालिका के स्वामित्व वाले अनुक्रम को भी बनाना चाहेंगे:

alter sequence your_seq owned by category.id;

सीरियल प्रकार पढ़ना मैनुअल का भाग उपयोगी हो सकता है।

मैं यह भी अनुशंसा करता हूं कि आप अपनी तालिका और कॉलम नामों को तब तक दोहरा न दें जब तक आपको ऐसा न करना पड़े। PostgreSQL आपके पहचानकर्ताओं को लोअर केस में मोड़ देगा ताकि id और "id" वही बात होगी लेकिन अनावश्यक उद्धरण एक बुरी आदत है जो आसानी से हर जगह उद्धरणों की एक बड़ी गड़बड़ी पैदा कर सकती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब मेरे पास पहले से ही एक अनुक्रमणिका है तो मेरी SQL डेटाबेस तालिका में प्राथमिक कुंजी कैसे और क्यों जोड़ें?

  2. स्प्रिंग बूट में डेटाबेस स्कीमा को ठीक से कैसे निर्दिष्ट करें?

  3. यह PostgreSQL लेनदेन चेतावनी क्यों देता है:कोई लेनदेन प्रगति पर नहीं है

  4. बंडल विफल - PostgreSQL क्लाइंट लाइब्रेरी नहीं ढूँढ सकता (libpq)

  5. पोस्टग्रेज़ डेटाबेस से उपयोगकर्ता को कैसे छोड़ें