IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

HELP creation et insertion table....??


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut HELP creation et insertion table....??
    petit probleme lors de la création d'un table étant l'association de deux autre table :
    je créé : CREATE TABLE auteur(
    num_auteur VARCHAR(5) PRIMARY KEY,
    nom_auteur VARCHAR(20),
    prenom_auteur VARCHAR(20),
    date_naissance DATE
    );
    puis :
    CREATE TABLE document (
    ref_doc VARCHAR(5) PRIMARY KEY,
    titre VARCHAR(50),
    theme VARCHAR(40),
    nbr_exemplaire int,
    duree_emprunt int,
    num_editeur varchar(5),
    foreign key(num_editeur) REFERENCES editeur,
    CHECK ( (nbr_exemplaire >=0) AND (duree_emprunt >=1))
    );

    Efin, je créer la table d'aasociation suivante :
    CREATE TABLE ecrit(
    ref_doc VARCHAR(5),
    num_auteur VARCHAR(5),
    FOREIGN KEY(ref_doc) REFERENCES document(ref_doc),
    FOREIGN KEY(num_auteur) REFERENCES auteur(num_auteur),
    CONSTRAINT ecrit_cp PRIMARY KEY(ref_doc,num_auteur)
    );

    J'insert des VALUES dans document et dans auteur :
    INSERT INTO auteur VALUES('a0001','Hunt','Craig','10/10/75');
    INSERT INTO livre VALUES('l0001','SQL pour les nuls','informatique','4','2','00023','145');

    Livre est une table qui hérite de document. Jusque là pas d'erreut sauf qd j'insere des values ds la table écrit :

    INSERT INTO ecrit VALUES('l0001','a0001');
    J'obtient l'erreur suivante :
    ERROR: insert or update on table "ecrit" violates foreign key constraint "$1"
    DETAIL: Key (ref_doc)=(l0001) is not present in table "document".

    Cette erreut ce produit tjs a l'inserrtion de valeur dans une table d'association. Je n'y comprend rien vu que la valeur de ref_doc se trouve bien ds la table document:!!!!
    HELP!:!!

    HELP!!
    merci

  2. #2
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Salut,

    si si, cela marche très bien. C'est simplement ta clé étrangère ref_doc qui doit avoir pour référence livre(ref_doc) et non pas document(ref_doc).

    C'est tout.

    @+

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut :(
    non, ce n'est pas ca car je possede d'autre table qui héritent tous de document (cd, dvd....) et ds ce cas, si je met livre(ref_doc) comme tu le dis, les autres classes (cd , dvd..) ne seront plus accessible par la table ecrit!

  4. #4
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Salut,

    Excuses-moi car j'avais modifié le nom de ta table document en livre car tu fais un insert dans la table livre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO livre VALUES('l0001','SQL pour les nuls','informatique','4','2','00023','145');
    A ce moment là, c'est cet insert qui n'est pas bon : il est fait dans la mauvaise table.

Discussions similaires

  1. Help - creation table oracle
    Par nenekes dans le forum Oracle
    Réponses: 10
    Dernier message: 21/06/2006, 13h59
  2. Creation d'une table avec plusieurs clés
    Par mic79 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/06/2005, 11h17
  3. creation de plusieur table à la fois .
    Par donny dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/05/2005, 11h31
  4. [Help] pb d'insertion via PHP ...
    Par romtrash dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/04/2005, 11h47
  5. Réponses: 2
    Dernier message: 02/11/2004, 12h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo