252 votes

Comment ajouter une clé primaire à incrémentation automatique à une table existante, dans PostgreSQL™ ?

J'ai un tableau avec des données existantes. Existe-t-il un moyen d'ajouter une clé primaire sans supprimer et recréer la table ?

73voto

Synesso Points 8865
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;

C'est tout ce dont vous avez besoin pour :

  1. Ajouter la colonne id
  2. Remplissez-le avec une séquence de 1 à count(*).
  3. Définissez-le comme clé primaire/ non NULL.

Crédit est donné à @resnyanskiy qui a donné cette réponse dans un commentaire.

1voto

yaseer Points 23

ALTER TABLE test1 ADD id int8 NOT NULL GENERATED ALWAYS AS IDENTITY ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X