vendredi 23 janvier 2009
PostgreSQL possède un type de donnée particulier qui se nomme SERIAL. En fait, il ne s'agit pas d'un vrai type, c'est plutôt un raccourci qu'on peut utiliser lors de la création d'une table pour définir une colonne de type auto-incrémentée.
Pour être plus précis, le DDL (Data Definition Language) à écrire lors de la définition d'une table (quand on n'utilise pas d'interface graphique d'édition) :
CREATE TABLE nom_de_la_table(est l'équivalent de :
nom_de_colonne SERIAL
);
CREATE SEQUENCE nom_de_la_sequence;Une chose importante à retenir est que bien que serial soit souvent utilisé pour la colonne représentant la clé primaire, celle-ci n'est pas définie automatiquement. Il faut alors déclarer explicitement la contrainte :
CREATE TABLE nom_de_la_table (
nom_de_colonne integer DEFAULT nextval('nom_de_sequence') NOT NULL
);
CONSTRAINT nom_de_la_contrainte PRIMARY KEY (nom_de_colonne)