Problème de requete

Signaler
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007
-
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007
-
salut,
alors mon problème est que je n'arrive pas a éxécuté de insert into sur mes tables depuis que j'ai fais des clés étrangères et des clé primaires  il me sort toujour cette erreur

#1216 - Cannot add or update a child row: a foreign key constraint fails

si kk1 voit d'où vien le pb sa serait sympa de me l'indiquer.

7 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

faut que le champ associe existe dans l'autre table

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007

en gros si j'ai une table client(nom prenom adresse id_clt lienclt) et une table intervention (type montant date lienint id_int) il faut que la valeur de lien int ou de lienclt qui son mes clé etrangère soi les meme ?
Messages postés
255
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
21 avril 2009

Salut,

en faite il faut que tes tables soit comme ca
client(id_clt, nom, prenom)
intervention(id_int, type, montant, date, id_clt)

<<--<<--nOUnoURs-->>-->>
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007

euh moi j'ai fais sa en fait
client(id_clt, nom, prenom, lienclt)
intervention(id_int, type, montant, date, id_clt, #lienclt)

par contre je sais pas comment on fait sous mysql pour mettre un identifiant en clé étrangère dans une autre table ya juste a le rentré ?
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007

voici un morceau de ma table

-- phpMyAdmin SQL Dump
-- version 2.10.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mer 13 Juin 2007 à 13:59
-- Version du serveur: 4.1.9
-- Version de PHP: 5.2.2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `projetbeta`
--

-- --------------------------------------------------------

--
-- Structure de la table `basereseau`
--

CREATE TABLE `basereseau` (
  `nbacces` int(5) NOT NULL default '0',
  `license` varchar(20) NOT NULL default '',
  `typeinst` varchar(20) NOT NULL default '',
  `nbaccesteams` varchar(20) NOT NULL default '',
  `lienbr` varchar(20) NOT NULL default '0',
  `lienbt` varchar(20) NOT NULL default '',
  `lienbt2` varchar(20) NOT NULL default '',
  `lienbt3` varchar(20) NOT NULL default '',
  `lienbt4` varchar(20) NOT NULL default '',
  `lienclt` varchar(20) NOT NULL default '',
  `liencom` varchar(20) NOT NULL default '',
  `liendroitinf` varchar(20) NOT NULL default '',
  `lienint` varchar(20) NOT NULL default '',
  `lienrmqint` varchar(20) NOT NULL default '',
  `lienrmqclt` varchar(20) NOT NULL default '',
  `lienmat4` varchar(20) NOT NULL default '',
  `lienmat3` varchar(20) NOT NULL default '',
  `lienmat` varchar(20) NOT NULL default '',
  `lienmat2` varchar(20) NOT NULL default '',
  `lienimg` varchar(20) NOT NULL default '',
  `id_br` varchar(20) NOT NULL default '0',
  PRIMARY KEY  (`id_br`),
  KEY `lien` (`lienbr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Contraintes pour la table `basereseau`
--

ALTER TABLE `basereseau`
  ADD CONSTRAINT `basereseau_ibfk_1` FOREIGN KEY (`lienclt`) REFERENCES `client` (`id_clt`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_10` FOREIGN KEY (`lienmat2`) REFERENCES `materiel2` (`id_mat2`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_11` FOREIGN KEY (`lienmat3`) REFERENCES `materiel3` (`id_mat3`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_12` FOREIGN KEY (`lienmat4`) REFERENCES `materiel4` (`id_mat4`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_13` FOREIGN KEY (`lienrmqclt`) REFERENCES `rmqclt` (`id_rmqclt`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_14` FOREIGN KEY (`lienrmqint`) REFERENCES `rmqint` (`id_rmqint`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_15` FOREIGN KEY (`lienimg`) REFERENCES `images` (`id_img`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_2` FOREIGN KEY (`lienbt`) REFERENCES `baseteams` (`Matricule`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_3` FOREIGN KEY (`lienbt2`) REFERENCES `baseteams2` (`Matricule2`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_4` FOREIGN KEY (`lienbt3`) REFERENCES `baseteams3` (`Matricule3`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_5` FOREIGN KEY (`lienbt4`) REFERENCES `baseteams4` (`Matricule4`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_6` FOREIGN KEY (`liencom`) REFERENCES `communication` (`id_com`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_7` FOREIGN KEY (`liendroitinf`) REFERENCES `droitinfo` (`id_droitinf`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_8` FOREIGN KEY (`lienint`) REFERENCES `intervention` (`Numcacao`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `basereseau_ibfk_9` FOREIGN KEY (`lienmat`) REFERENCES `materiel` (`id_mat`) ON DELETE CASCADE ON UPDATE CASCADE;
----------------------------------------------------------------------
Voila toute mes tables sont faites comme sa si vous voyez pourquoi je ne peut pas requeté dessus merci de me lindiquer c'est super important
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007

j'ai mis MATCH FULL a la place de on delete cascade sa change rien =/
Messages postés
207
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2007

alors ?