Votre question

[SQL]Problème de lien entre les tables

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
30 Octobre 2007 15:25:39

Bonjours,

je suis sous phpMyAdmin. J'ai pour l'instant 3 tables : utilisateur, contact, connaitre.

Un utilisateur peur enregistré plusieurs contact.
Un contact peut être enregistré par plusieurs utilisateurs.
D'où la table connaitre qui contient l'identifiant de la table utilisateur et celui de la table contact.

Le problème c'est que lorsque j'enregistre un utilisateur dans sa table, son id n'est pas enregistré dans la table connaître.

Voici le code sql :

CREATE TABLE utilisateur
(
idUt INT AUTO_INCREMENT NOT NULL ,
pseudo VARCHAR( 50 ) NOT NULL ,
mdp VARCHAR( 50 ) NOT NULL ,
CONSTRAINT cleUtilisateur PRIMARY KEY ( idUt )
) ;

CREATE TABLE contact
(
idContact INT AUTO_INCREMENT NOT NULL ,
nomContact VARCHAR( 50 ) NOT NULL ,
prenomContact VARCHAR( 50 ) NOT NULL ,
adresseContact VARCHAR( 50 ) NOT NULL ,
cpContact VARCHAR( 10 ) NOT NULL ,
villeContact VARCHAR( 50 ) NOT NULL ,
telContact VARCHAR( 10 ) NOT NULL ,
telBisContact VARCHAR( 10 ) NOT NULL ,
mailContact VARCHAR( 50 ) NOT NULL ,
societeContact VARCHAR( 50 ) NOT NULL ,
CONSTRAINT cleContact PRIMARY KEY ( idContact )
);

CREATE TABLE connaitre(
idUt INT NOT NULL ,
idContact INT NOT NULL ,
CONSTRAINT cleConnaitre PRIMARY KEY ( idContact,idUt)
) ;

ALTER TABLE connaitre ADD FOREIGN KEY ( idUt ) REFERENCES utilisateur(idUt) ON DELETE CASCADE ON UPDATE CASCADE ;

ALTER TABLE connaitre ADD FOREIGN KEY ( idContact ) REFERENCES contact (idContact) ON DELETE CASCADE ON UPDATE CASCADE ;

Autres pages sur : sql probleme lien tables

a c 232 L Programmation
30 Octobre 2007 16:47:36

Bah, c'est normal que l'utilisateur ne soit pas enregistré dans la table connaitre. Pour qu'il soit enregistré, il faut que tu ajoutes des contacts à cet utilisateur, tu ajouteras à ce moment là ce qu'il faut dans la table connaitre.
30 Octobre 2007 20:59:42

Ok merci.

Si j'ai bien compris, j'enregistre des infos dans les tables utilisateurs et contacts pour ensuite ajouter manuelement les info dans la table connaitre qui feront le lien.
a c 232 L Programmation
30 Octobre 2007 22:38:56

Bah oui.
Sauf que c'est pas forcément manuellement, tu peux le faire automatiquement quand une personne choisi d'entrer son contact.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS