Se connecter avec
S'enregistrer | Connectez-vous

[SQL]Problème de lien entre les tables

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte
Expert Programmation

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.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde