Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : erreur : a foreign key constraint fails !!!! [ MySQL / Débutant(s) ] (vinz78)

jeudi 21 juin 2007 à 10:58:44 | erreur : a foreign key constraint fails !!!!

vinz78

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

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

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

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

--
-- Structure de la table `adresse`
--

CREATE TABLE `adresse` (
  `id_adresse` bigint(20) NOT NULL auto_increment,
  `telephone` varchar(20) NOT NULL default '',
  `email` text NOT NULL,
  `fax` varchar(20) NOT NULL default '',
  `rue_adr` text NOT NULL,
  `numrue_adr` varchar(20) NOT NULL default '',
  `cp_adr` varchar(20) NOT NULL default '',
  `ville_adr` varchar(20) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_adresse`),
  KEY `FK_adresse` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `adresse`
--


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

--
-- Structure de la table `baseteams`
--

CREATE TABLE `baseteams` (
  `Matricule` bigint(20) NOT NULL,
  `type_bt` varchar(20) NOT NULL default '',
  `profil_bt` varchar(20) NOT NULL default '',
  `versionTEAMS` varchar(20) NOT NULL default '',
  `versionCOMPANION` varchar(20) NOT NULL default '',
  `versionCALLREPORT` varchar(20) NOT NULL default '',
  `reseau` varchar(20) NOT NULL default '',
  `repertoire` varchar(50) NOT NULL default '',
  `fonction` varchar(50) NOT NULL default '',
  `nbacces` varchar(20) NOT NULL default '',
  `license_pervasive` varchar(20) NOT NULL default '',
  `typeinst` varchar(50) NOT NULL default '',
  `nomaccesTEAMS` varchar(50) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`Matricule`),
  KEY `FK_baseteams` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `baseteams`
--


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

--
-- Structure de la table `connexion`
--

CREATE TABLE `connexion` (
  `id_connex` bigint(20) NOT NULL auto_increment,
  `dialer` varchar(20) NOT NULL default '',
  `version` varchar(20) NOT NULL default '',
  `autre_dialer` text NOT NULL,
  `utilisation_interco` varchar(20) NOT NULL default '',
  `nom_host` varchar(20) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_connex`),
  KEY `FK_connexion` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `connexion`
--


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

--
-- Structure de la table `contact`
--

CREATE TABLE `contact` (
  `id_contact` bigint(20) NOT NULL,
  `nom_cont` varchar(20) NOT NULL default '',
  `prenom_cont` varchar(20) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_contact`),
  KEY `FK_contact` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `contact`
--


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

--
-- Structure de la table `intervention`
--

CREATE TABLE `intervention` (
  `id_int` bigint(20) NOT NULL auto_increment,
  `Numcacao` varchar(20) NOT NULL default '',
  `date_intervention` date NOT NULL default '0000-00-00',
  `Nom_intervenant` varchar(20) NOT NULL default '',
  `description_op` text NOT NULL,
  `rmqint` varchar(20) NOT NULL default '',
  `rmqcontact` varchar(20) NOT NULL default '',
  `heuredeb` time NOT NULL default '00:00:00',
  `heurefin` time NOT NULL default '00:00:00',
  `url_cr` text NOT NULL,
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_int`),
  KEY `FK_intervention` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `intervention`
--


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

--
-- Structure de la table `laboratoire`
--

CREATE TABLE `laboratoire` (
  `id_labo` bigint(20) NOT NULL auto_increment,
  `Nomlab` varchar(20) NOT NULL default '',
  `Commercial` varchar(20) NOT NULL default '',
  `Animateur` varchar(20) NOT NULL default '',
  `TC1` varchar(20) NOT NULL default '',
  `TC2` varchar(20) NOT NULL default '',
  `TC3` varchar(20) NOT NULL default '',
  `ATC` varchar(20) NOT NULL default '',
  `Pays` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table `laboratoire`
--


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

--
-- Structure de la table `machine`
--

CREATE TABLE `machine` (
  `id_mat` bigint(20) NOT NULL auto_increment,
  `marque` varchar(20) NOT NULL default '',
  `modele` varchar(20) NOT NULL default '',
  `CPU` varchar(20) NOT NULL default '',
  `RAM` varchar(20) NOT NULL default '',
  `IE` varchar(20) NOT NULL default '',
  `connexion` varchar(20) NOT NULL default '',
  `utilisateur` varchar(20) NOT NULL default '',
  `logiciel` varchar(20) NOT NULL default '',
  `antivirus` varchar(20) NOT NULL default '',
  `precense msxml 6.0` tinyint(1) NOT NULL,
  `precense windows installer 3.1` tinyint(1) NOT NULL,
  `client_VPN` varchar(20) NOT NULL default '',
  `libelle_master` varchar(20) NOT NULL default '',
  `droit_uti` varchar(20) NOT NULL default '',
  `droit_repertoire` varchar(20) NOT NULL default '',
  `droit_basereg` varchar(20) NOT NULL default '',
  `autre_droit` text NOT NULL,
  `autre_mat` text NOT NULL,
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_mat`),
  KEY `FK_machine` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `machine`
--


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

--
-- Structure de la table `matsoc`
--

CREATE TABLE `matsoc` (
  `matsoc` bigint(20) NOT NULL,
  `libelle_matsoc` varchar(20) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`matsoc`),
  KEY `FK_matsoc` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `matsoc`
--


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

--
-- Structure de la table `resp_cpt`
--

CREATE TABLE `resp_cpt` (
  `id_resp` bigint(20) NOT NULL auto_increment,
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_resp`),
  KEY `FK_resp_cpt` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `resp_cpt`
--


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

--
-- Structure de la table `utilisateur`
--

CREATE TABLE `utilisateur` (
  `id_uti` bigint(20) NOT NULL,
  `nom_uti` varchar(20) NOT NULL default '',
  `pren_uti` varchar(20) NOT NULL default '',
  `id_labo` bigint(20) NOT NULL,
  PRIMARY KEY  (`id_uti`),
  KEY `FK_utilisateur` (`id_labo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `utilisateur`
--


--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table `adresse`
--
ALTER TABLE `adresse`
  ADD CONSTRAINT `FK_adresse` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `baseteams`
--
ALTER TABLE `baseteams`
  ADD CONSTRAINT `FK_baseteams` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `connexion`
--
ALTER TABLE `connexion`
  ADD CONSTRAINT `FK_connexion` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `contact`
--
ALTER TABLE `contact`
  ADD CONSTRAINT `FK_contact` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `intervention`
--
ALTER TABLE `intervention`
  ADD CONSTRAINT `FK_intervention` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `machine`
--
ALTER TABLE `machine`
  ADD CONSTRAINT `FK_machine` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `matsoc`
--
ALTER TABLE `matsoc`
  ADD CONSTRAINT `FK_matsoc` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `resp_cpt`
--
ALTER TABLE `resp_cpt`
  ADD CONSTRAINT `FK_resp_cpt` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `utilisateur`
--
ALTER TABLE `utilisateur`
  ADD CONSTRAINT `FK_utilisateur` FOREIGN KEY (`id_labo`) REFERENCES `laboratoire` (`id_labo`) ON DELETE CASCADE ON UPDATE CASCADE;

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

Voila ma base de données sa fait 5000 fois que je la refais toujours cette erreur si quelqun peut prendre le temps de regarder mes contraintes pour voir ce qui va pas merci !

jeudi 21 juin 2007 à 11:30:11 | Re : erreur : a foreign key constraint fails !!!!

dominique.stock

Bonjour,
Quand as-tu cette erreur ?
Lors de l'insertion ?
Montre ton ordre d'insertion ...


Ta table Laboratoire est elle vide ? Si oui, tu ne peux rien insérer dans les autres tables ....



Dom

jeudi 21 juin 2007 à 11:46:50 | Re : erreur : a foreign key constraint fails !!!!

vinz78

J'ai effectivement cette erreur lors de l'insertion

requête SQL: 

INSERTINTO`projet`.`contact`(

`id_contact`,
`nom_cont`,
`prenom_cont`,
`id_labo`
)
VALUES(
'4545','nomtest','prenomtest','1'
)

MySQL a répondu:

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


j'ai fais un test en remplissant ma table labo l'auto increment a mis 1 pour  id_labo mais sa na rien changé

jeudi 21 juin 2007 à 11:49:55 | Re : erreur : a foreign key constraint fails !!!!

dominique.stock

Id_Labo est déclaré en BigInt ...
l'ordre ne serait pas plutôt
VALUES(
'4545','nomtest','prenomtest',1
)  ?

Dom

jeudi 21 juin 2007 à 12:01:27 | Re : erreur : a foreign key constraint fails !!!!

vinz78

j'ai mi id labo en big int vu qu'il est en auto increment et que je ne connais pas le nombre d'insertion total  je vais essayer lordre d'insertion mais je pense que sa va etre pareil au final vu que c'est phpmyadmin qui ma retourné cette requete

jeudi 21 juin 2007 à 13:59:07 | Re : erreur : a foreign key constraint fails !!!!

dominique.stock

As-tu essayé le 1 (id_labo)  sans apostrophe ?
Dom

jeudi 21 juin 2007 à 15:02:33 | Re : erreur : a foreign key constraint fails !!!!

vinz78

ouai mais je vien de me rendre compte que kan j'ai 1 pour id_labo dan laboratoire mes insertion marchent dan les autre table quand leur id_labo est a 1 aussi  hors vu que c'est un champs en auto incrémentation et que les autres non je ne vois pas comment faire
je peux dire a l'utilisateur de saisir le meme id labo a chaque fois  mais c'est assé complique car il devra savoir quel nombre a id_labo comme occurence tout le temps. Je suis assé perdu la

jeudi 21 juin 2007 à 15:44:31 | Re : erreur : a foreign key constraint fails !!!!

dominique.stock

C'est le principe de la clef etrangere .
Dans toutes les tables où tu as définis des clefs étrrangères, lors de l'insertion de ligne dans celles-ci, la valeur qui fera référence à la clef étrangère devra exister dans la table Parent (ici Laboratoire) ....
C'est pourquoi tu dois créer les laboratoires dont tu as besoins avant d'insérer quoi que ce soit dans les autres tables.

Peut être que tu peux procéder autrement (revoir tes tables et contraintes) mais je ne connais pas ton cahier des charges ...


Dom

jeudi 21 juin 2007 à 16:39:45 | Re : erreur : a foreign key constraint fails !!!!

vinz78

Merci je vais essayer de faire en sorte que les labos soient insérés en premier parceque la j'essayai de tout insérer d'un seul coup.
Bonne soirée =)



Cette discussion est classé dans : table, id, not, default, varchar


Répondre à ce message

Sujets en rapport avec ce message

Requete utilisant un IF (?) [ par Gamer_man ] Bonjour :)J'ai un petit probleme avec une requete...J'explique un peu :Sur mon site, il est possible de poster des commentaires en etant membre ou en Type BOOL sur MySQL [ par romca ] Salut à tous;Dans une table "Emprunt" je veux mettre un type BOOL sur un champ (le champ reservation) mais quand je sauvegarde SQL me met le type en T Requête tri par date [ par coyote_fx ] Bonjour à tous,voilà je dois composer une requête dynamique de recherche sur une table de ma base de données (COMMANDES):Exemple de syntaxe de ma requ [sql] probleme pour creer des tables avec foreign key [ par jerrrrrry ] bonjour à tous je cherche à creer une requete sql pour creer deux tables catégorie et sous catégorie la table catégorie contient les champs id et name Erreur inconnu lors d'une requete d'ajout [ par alucard02 ] BonjourJe bloque devant cette requette simple qui permet l'enregistrement de nouveaux membres :$q1 = "insert into classmates_members set               ERREUR ERNO 150 CLE ETRANGERE [ par didygwatinik ] Bonjour, J'ai une erreue dans la création de ma table notertexte, apparement c'est un problème avec les clés étrangères : j'obtiens l'erreur : Can't c requête entre deux table -> inner join ou autre? à l'aide... [ par Michococo ] Bonjour,voici en deux mots la situation:j'ai table1 qui pointe deux fois sur table2 avec les champs table1.id_table2_1 et  table1.id_table2_2si je fa Conception de BDD: relation n-n [ par leica69 ] Bonjour, je souhaiterais concevoir une BDD mais avant d'attaquer j'aurais une question à vous poser. En simplifiant, voici ma situation: Je veux mettr Clef primaire qui retourne sur la meme table [ par cretthie ] Bonjour, j'ai une table qui contient :une clef primaire (idPersonne) not nullune clef primaire (idParentPere) not nullune clef primaire (idParentMere) requete lente [ par ntrvdonett ] Bonjour,je travaille avec mysql sous debian, j'ai activé le slow-log dans my.cnf, et mysql me dit qu'une de mes requetes est lente : SELECT * FROM pin


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.