PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SET IDENTITY_INSERT postgresql

Нямате нужда от set identity_insert в Postgres.

Просто вмъкнете данните във вашата таблица.

Това, което трябва да направите обаче, е да синхронизирате отново последователностите, които стоят зад вашата серийна („автоматично нарастване“) колона, като използвате 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. Как да подобря производителността на базирани на дата заявки за голяма таблица?

  2. Коригирайте „ГРЕШКА:  липсва запис на клауза FROM за таблица“ в PostgreSQL, когато използвате UNION, EXCEPT или INTERSECT

  3. Най-добра практика за създаване на SQL SELECT заявки при обработка на потенциални недефинирани стойности

  4. postgres csv дата нулева грешка при импортиране

  5. Шифроване на данните в postgresql