[MySql/Php]requete jointure de table Inoodb
Résolu
alucard67
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
anony -
anony -
Bonjour, je suis en train de fair un programme et j'ai quelque difficulté pour remplir ma base de données.
Alors voila ce que j'essay de faire:
Dans un premier temps je remplie une table "equipements" avec l'identifiant ID_E
ensuite je rempli une autre table "cartes" avec l'identifiant ID_C
ensuite pour fair le lien je creer une autre table relation avec les ID de mes deux tables qui sont ID_C et ID_E.
je veux que quand je rentre une données dans la table equipement et carte , les ID de ces derbniers soient mise a jour dans ma table .
pour ce fair j'ai rentré ces lignes dans phpmyadmin:
et lorque je lance mon programme voila ce qu'affiche ma page
et les requetes que j'execute dans mon script php:
le voici :
voila et je ne voi vraiment pas d'ou viens l'erreur je me suis casser les dents la dessus 2 jour , alors si une ame charitable voudrai bien voler a mon secour je lui serai tre tre reconnaissant.
merci d'avance!
Alors voila ce que j'essay de faire:
Dans un premier temps je remplie une table "equipements" avec l'identifiant ID_E
ensuite je rempli une autre table "cartes" avec l'identifiant ID_C
ensuite pour fair le lien je creer une autre table relation avec les ID de mes deux tables qui sont ID_C et ID_E.
je veux que quand je rentre une données dans la table equipement et carte , les ID de ces derbniers soient mise a jour dans ma table .
pour ce fair j'ai rentré ces lignes dans phpmyadmin:
CREATE TABLE cartes ( ID_C tinyint(5) NOT NULL auto_increment, description varchar(256) NOT NULL default '', Serial varchar(250) NOT NULL default '', HW_Version varchar(256) NOT NULL default '', SW_Version varchar (256) NOT NULL default '', PRIMARY KEY (ID_C) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE equipements ( ID_E tinyint(5) NOT NULL auto_increment, IP varchar(20) NOT NULL default '', marque varchar(20) NOT NULL default '', nom varchar(20) NOT NULL default '', PRIMARY KEY (ID_E) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE `relation` ( `ID_C` TINYINT( 5 ) NOT NULL , `ID_E` TINYINT( 5 ) NOT NULL , FOREIGN KEY ( ID_C ) REFERENCES cartes( ID_C ) ON DELETE CASCADE ON UPDATE CASCADE , FOREIGN KEY ( ID_E ) REFERENCES equipements( ID_E ) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB DEFAULT CHARSET = latin1 ;
et lorque je lance mon programme voila ce qu'affiche ma page
Erreur SQL dans la table relation !INSERT INTO relation(ID_C, ID_E) VALUES('projet.cartes.ID_C','projet.equipements.ID_E') Cannot add or update a child row: a foreign key constraint fails (`projet/relation`, CONSTRAINT `relation_ibfk_2` FOREIGN KEY (`ID_E`) REFERENCES `equipements` (`ID_E`) ON DELETE CASCADE ON UPDATE CASCADE)
et les requetes que j'execute dans mon script php:
le voici :
/////AJOUT DES INFO DANS LA TABLE CARTES//////// for ($i=1;$i<=16;$i++) { $description=lire_ligne('reponse_snmp_motorola.txt',$i+16); $serial=lire_ligne('reponse_snmp_motorola.txt',$i+32); $HW=lire_ligne('reponse_snmp_motorola.txt',$i+48); $SW=lire_ligne('reponse_snmp_motorola.txt',$i+64); $sql = "INSERT INTO cartes(ID_C, description, serial, HW_version, SW_version) VALUES('','$description','$serial','$HW','$SW')"; // on insère les informations dans la table mysql_query($sql) or die('Erreur SQL dans la table Carte !'.$sql.'<br>'.mysql_error()); } ////AJOUT DES INFOS DANS LA TABLE EQUIPEMENTS////// $sql2 = "INSERT INTO equipements(ID_E, IP, marque, nom) VALUES('','$IP2','Motorola','$nom2')"; mysql_query($sql2) or die('Erreur SQL dans la table Equipement !'.$sql2.'<br>'.mysql_error()); //////AJOUT DES INFOS DANS LA TABLE RELATIONS//// $sql3= "INSERT INTO relation(ID_C, ID_E) VALUES('projet.cartes.ID_C','projet.equipements.ID_E')"; mysql_query($sql3) or die ('Erreur SQL dans la table relation !'.$sql3.'<br>'.mysql_error());
voila et je ne voi vraiment pas d'ou viens l'erreur je me suis casser les dents la dessus 2 jour , alors si une ame charitable voudrai bien voler a mon secour je lui serai tre tre reconnaissant.
merci d'avance!
A voir également:
- [MySql/Php]requete jointure de table Inoodb
- Table ascii - Guide
- Table des matières word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Table des caractères - Guide