Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 19/12/2018 17:15:58
- bvolpi
- Membre
Création d'une table à partir d'une table modele
Bonjour,
j'ai une table modeles.rdv avec
id integer Incrément automatique [nextval('rdv_id_seq')] , ........
que je duplique : create table agenda.rdv_xxxx as table modeles.rdv .
mais je perds l'auto-incrementation
j'aimerais que agenda.rdv_xxxx garde l'auto incrementation et devienne
id integer Incrément automatique [nextval('rdv_xxxx_id_seq')]
j'ai essayé :
create table agenda.rdv_xxxx as table modeles.rdv;
create sequence agenda.rdv_xxxx_id_seq start with 1 increment by 1 NO MINVALUE NO MAXVALUE CACHE 1;
ALTER SEQUENCE agenda.rdv_xxxx_id_seq OWNED BY agenda.rdv_xxxx.id;
la sequence est bien créer mais ne s'applique pas au champ id ???
A quel endroit je fais l'erreur ?
Hors ligne
#2 19/12/2018 20:25:37
- gleu
- Administrateur
Re : Création d'une table à partir d'une table modele
Il manque l'attribution de la valeur par défaut sur la colonne id. Ceci étant dit, il serait certainement plus simple de faire un
CREATE TABLE XXX (LIKE YYY INCLUDING ALL);
. Voir https://docs.postgresql.fr/11/sql-createtable.html pour les détails.
Guillaume.
Hors ligne
#3 20/12/2018 12:21:46
- bvolpi
- Membre
Re : Création d'une table à partir d'une table modele
Merci pour la réponse, mais je crois que je me suis mal expliquer :
CREATE TABLE table2 (LIKE table1 INCLUDING ALL); copie en effet tout mais mon problème c'est de détaché les sequences
table1_seq.id -> table2_seq.id
j'ai trouver la commande qui me manquait :
ALTER TABLE xxxxx ALTER COLUMN id set default value
Hors ligne
Pages : 1