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

SET IDENTITY_INSERT पोस्टग्रेस्क्ल

आपको set identity_insert की आवश्यकता नहीं है पोस्टग्रेज में।

बस अपनी तालिका में डेटा डालें।

हालांकि, आपको setval() का उपयोग करके आपके सीरियल ("ऑटो इंक्रीमेंट") कॉलम के पीछे के सीक्वेंस को फिर से सिंक करना है। समारोह:

select setval(pg_get_serial_sequence('my_table', 'my_serial_column'), 
              (select max(my_serial_column) from my_table) 
       ); 

यदि कॉलम को serial के रूप में परिभाषित नहीं किया गया है लेकिन "केवल" का एक अनुक्रम से लिया गया एक डिफ़ॉल्ट मान है, आपको अनुक्रम नाम "मैन्युअल रूप से" की आपूर्ति करने की आवश्यकता है

select setval('my_sequence_name', (select max(my_serial_column) 
                                   from my_table)
       ); 

संपादित करें

यहां एक SQLFiddle उदाहरण दिया गया है:http://sqlfiddle.com/#!15/690ea/1




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. isnumeric () PostgreSQL के साथ

  2. Npgsql और इकाई फ्रेमवर्क के साथ पोस्टग्रेएसक्यूएल को अस्वीकार्य का उपयोग करके क्वेरी करें

  3. पोस्टग्रेज में 'कथन के लिए' ट्रिगर का उपयोग कैसे करें?

  4. नेस्टेड jsonb कॉलम पर GROUP BY + COUNT DISTINCT को ऑप्टिमाइज़ करना

  5. माइग्रेशन के लिए PostgreSQL विदेशी कुंजी जांच अक्षम करें