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

Рестартирайте номерата на първичния ключ на съществуващите редове след изтриване на по-голямата част от голяма таблица

Първо пуснете първичния ключ и създайте временна последователност.

alter table mytable drop constraint mydata_pkey;
create temporary sequence temp_seq;

Използвайте последователността за актуализиране:

update mytable
set id = nextval('temp_seq');

Създайте отново първичния ключ и изпуснете последователността

alter table mytable add primary key (id);
drop sequence temp_seq;

Ако има зависимост от чужд ключ към тази таблица, първо ще трябва да се справите с него и актуализацията ще бъде по-сложна процедура.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да върна таблица по тип ред в PL/pgSQL

  2. Как да поставя PostgreSQL /bin директория на моя път в Windows?

  3. неразпознат автоматичен конфигурационен параметър в PostgreSQL NodeJS

  4. ГРЕШКА:нулевата стойност в идентификатора на колона нарушава ограничението за не-нулево

  5. Заглушаване на спама в журналите на postgres в регистрационните файлове на rails 3