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

Langage SQL Discussion :

Inersert dans une table crée par les cardinalités [*,*]


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 21
    Points
    21
    Par défaut Inersert dans une table crée par les cardinalités [*,*]
    Voilà, mon problème. J'ai créé une table pour en joindre deux autres qui avaient une cardinalité [*,*], et je n'arrive pas à insérer de tuples à l'intérieur. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    create table interprete(
    	nom varchar(50),
    	nationalite varchar(50),
    	style varchar(50),
    	commentaires varchar,
    	date_naissance date,
    	date_deces date,
    	constraint nom_pk primary key (nom))
     
    create table chanson(
    	url varchar,
    	titre varchar(50),
    	fichier varchar(50),
    	style varchar(50),
    	piste int,
    	commentaires varchar,
    	date_parution date,
    	preference int,
    	constraint url_pk primary key (url))
     
    create table interprete_has_chanson(
    	nom_interprete varchar(50),
    	titre_chanson varchar(50),
    	constraint nom_interprete_fk foreign key (nom_interprete) references interprete(nom),
    	constraint url_fk foreign key (titre_chanson) references chanson(url))
    Après en effectuant un INSERT à l'intérieur de cette table, une erreur. Que se passe-t-il, que dois-je faire pour réparer la chose ?
    J'utilise HSQLDB sous java.

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut ajout dans une table de cardinalite n,n
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE interprete_has_chanson(	nom_interprete varchar(50),
    	titre_chanson varchar(50),
    	constraint nom_interprete_fk FOREIGN KEY (nom_interprete) REFERENCES interprete(nom),
    	constraint url_fk FOREIGN KEY (titre_chanson) REFERENCES chanson(url))
    tu devrais utiliser des cle numerique pour commencer, le probleme n'est pas la...

    lorsque tu inseres un titre de chanson, il doit etre existant dans chanson.url c'est l'interet des cle etrangere...
    pareil lorsque tu insere un nom d'interprete, le nom choisit doit exister dans la table interprete et dans la colonne nom.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup, problème réglé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2011, 15h04
  2. MAJ dans une table conditionnée par la valeur d'un de ses champs
    Par NicolasTT dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 24/03/2011, 15h31
  3. Je n'arrive pas à supprimer une Table créée par VBA
    Par ac264 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/02/2010, 10h55
  4. Réponses: 1
    Dernier message: 22/08/2008, 10h06
  5. Réponses: 4
    Dernier message: 24/07/2007, 12h12

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