par
Invité » 24 mai 2007, 16:29
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:
Code : Tout sélectionner
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
Code : Tout sélectionner
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)
j'utilise la version 5.0.27 de mysql
J'espere que qulqu'un poura me filer un pitit coup de main.
Merci d'avance aux personne qui pouront m'aider, et j'espere qu'il y en aura.
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:
[code]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 ;[/code]
et lorque je lance mon programme voila ce qu'affiche ma page
[code]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)[/code]
j'utilise la version 5.0.27 de mysql
J'espere que qulqu'un poura me filer un pitit coup de main.
Merci d'avance aux personne qui pouront m'aider, et j'espere qu'il y en aura.