sql >> Database teknologi >  >> RDS >> PostgreSQL

SET IDENTITY_INSERT postgresql

Du behøver ikke set identity_insert i Postgres.

Indsæt blot dataene i din tabel.

Hvad du dog skal gøre er at re-synkronisere sekvenserne, der er bag din seriel ("auto increment") kolonne ved hjælp af setval() funktion:

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

Hvis kolonnen ikke er defineret som en serial men "kun" har en standardværdi taget fra en sekvens, du skal angive sekvensnavnet "manuelt"

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

Rediger

Her er et eksempel på SQLFiddle:http://sqlfiddle.com/#!15/690ea/1




  1. PHPpgAdmin:Sådan sletter du rækker uden at bruge SQL

  2. MySQL 8 del streng med komma og konverter den til JSON ARRAY

  3. I SQL, er det OK for to tabeller at referere til hinanden?

  4. MySql Sådan indstilles en lokal variabel i en opdateringssætning (syntaks?)