Cannot add or update a child row: a foreign key constraint fails [Fermé]

Signaler
Messages postés
44
Date d'inscription
dimanche 5 février 2012
Statut
Membre
Dernière intervention
10 avril 2017
-
 Mohamed -
Bonjour
j'ai un petit soucis avec cette erreur ! Cela fait 4h que je cherche sur le net mais je ne trouve rien qui me permet de résoudre le problème pour les 2 tables.
lorsque j'insérée une une de mande de congé ou d'absence dans la table demande ili affiche cet erreur " Cannot add or update a child row: a foreign key constraint fails ('grh'.'demandes', CONSTRAINT 'hyht' FOREIGN KEY ('id_demande') REFERENCES 'login' ('id_login') ON DELETE CASCADE ON UPDATE CASCADE)" !!

Voici mes requêtes de création de table employées:
CREATE TABLE IF NOT EXISTS 'employees' (
'id_employe' int(11) NOT NULL,
'nom' varchar(20) NOT NULL,
'prenom' varchar(20) NOT NULL,
'CIN' int(10) NOT NULL,
'tel' int(10) NOT NULL,
'etatcivil' varchar(20) NOT NULL,
'dateN' date NOT NULL,
'sexe' varchar(20) NOT NULL,
'situation' varchar(20) NOT NULL,
'nbreenfants' int(5) NOT NULL,
'adresse' varchar(20) NOT NULL,
'ville' varchar(20) NOT NULL,
'email' varchar(20) NOT NULL,
PRIMARY KEY ('id_employe')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Voici le code de la création de table demande:


CREATE TABLE IF NOT EXISTS 'demandes' (
'id' int(11) NOT NULL,
'id_demande' int(11) NOT NULL,
'nom' varchar(20) NOT NULL,
'prenom' varchar(20) NOT NULL,
'departement' varchar(20) NOT NULL,
'cause' varchar(20) NOT NULL,
'datedebut' date NOT NULL,
'datefin' date NOT NULL,
'nbrejours' int(11) NOT NULL,
'type' varchar(20) NOT NULL,
'statut' text NOT NULL,
PRIMARY KEY ('id'),
KEY 'id_demande' ('id_demande')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='stocke les demandes des congés et d'absences ';

Quelqu'un a t il une idée ?

Je n'ai pas l'impression que mes contraintes soient mauvaises !

Merci d'avance

9 réponses


Je suis désolé de ne pas pouvoir t'aider car tu ne comprends pas assez le français.
Je t'ai demandé plusieurs fois la définition de ta contrainte, et tu me parle de choses et d'autres sans jamais me donner le définition que je te demande.
Sans cette définition, je ne peux plus rien pour toi.
Bonne chance.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci


Bonjour

Il manque la définition de la table 'login'
Messages postés
44
Date d'inscription
dimanche 5 février 2012
Statut
Membre
Dernière intervention
10 avril 2017

dsl je pas compris qu'est ce que te dit!
comment je peux définir la table login !!
déja j'ai le code de la table "login" voila :


CREATE TABLE IF NOT EXISTS 'login' (
'id_login' int(11) NOT NULL,
'login' text NOT NULL,
'password' text NOT NULL,
'groupe' varchar(20) NOT NULL,
PRIMARY KEY ('id_login')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Maintenant, peux-tu donner la définition de la contrainte qui échoue d'après ton message d'erreur ?
Messages postés
44
Date d'inscription
dimanche 5 février 2012
Statut
Membre
Dernière intervention
10 avril 2017

Bonjour,
j'ai déja fait que le id_demande est le clé étrangére de la table "login " mais lorsque je fait une demande le méme erreur s'affiche !!
j'en sais pas pourquoi il affiche l'erreur ?

Je sais bien que id_demande est une clé étrangère. Je n'ai jamais dit le contraire. Je te demande sa définition.
Messages postés
44
Date d'inscription
dimanche 5 février 2012
Statut
Membre
Dernière intervention
10 avril 2017

la table lodin contient le login et le password et le type de groupe"admin ou employé" . lorsque un employé faire une demande de "congé" ou " d'absence" sera stocké en bd puis l'employé doit avoir leur statut de cette demande donc de cas tous les informations sera affichées en indiquant leur statut "acepter ou réfuser"

et aussi cet sera unique pour chaque employé dans ce cas j'ai le id_demande est la clé étrangére de la table login .
si s'éléve cette clé il affiche tous les demandes des utilisateurs au méme temps

mais j'ai trouve pas des solutions pour cet erreur "Cannot add or update a child row: a foreign key constraint fails ('grh'.'demandes', CONSTRAINT 'hyht' FOREIGN KEY ('id_demande') REFERENCES 'login' ('id_login') ON DELETE CASCADE ON UPDATE CASCADE)" !!

et merci a vous monsieur car tu cherche a m'aider ;)
Messages postés
44
Date d'inscription
dimanche 5 février 2012
Statut
Membre
Dernière intervention
10 avril 2017

Merci ;
tu parle de la définition de contrainte!! comme !! c'est a dire en SQL je doit définis ou quoi !
vraiment j'ai pas compris ?
Vidé les données des 2 tables ;) .