sql >> Databasteknik >  >> RDS >> PostgreSQL

SET IDENTITY_INSERT postgresql

Du behöver inte set identity_insert i Postgres.

Infoga bara data i din tabell.

Vad du däremot behöver göra är att synkronisera om sekvenserna som ligger bakom din seriella ("auto increment") kolumn med setval() funktion:

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

Om kolumnen inte är definierad som en serial men "bara" har ett standardvärde hämtat från en sekvens, du måste ange sekvensnamnet "manuellt"

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

Redigera

Här är ett exempel på SQLFiddle:http://sqlfiddle.com/#!15/690ea/1




  1. Laravel 5.1 - Ansluter till MySQL-databasen (MAMP)

  2. PostgreSQL-frågeutmatning som en excel-fil

  3. Kan jag använda en MySQL-databas med en App Engine-applikation

  4. Oracle-lyssnaren körs inte och startar inte