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

Genstart primære nøglenumre for eksisterende rækker efter at have slettet det meste af en stor tabel

Slip den primære nøgle først, og opret en midlertidig sekvens.

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

Brug sekvensen til at opdatere:

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

Genskab den primære nøgle, og slip sekvensen

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

Hvis der er en fremmednøgleafhængighed på denne tabel, bliver du nødt til at håndtere det først, og opdateringen vil være en mere kompleks procedure.



  1. Hvordan finder man de dårligst ydende forespørgsler i SQL Server 2008?

  2. MYSQL returnerer duplikerede rækker

  3. betinget deltagelse i mysql

  4. ORA-01017 Ugyldigt brugernavn/adgangskode ved tilslutning til 11g database fra 9i klient