doublon qui surgit hors de la nuit :s
Posté : 01 févr. 2006, 10:09
Bonjour,
je m'explique de ce pas :
je gère un annuaire téléphonique et dans mon MCD j'ai 3 entité qui sont relié à une association (une ternaire quoi) !! j'en vien à mon probleme
voici la structure de mes tables :
en quelque mot un agent peut faire partie d'un ou plusieur sous service qui lui meme peut faire partie de un ou plusieurs services donc mes infos de la table faire partie ressemble a :
pour commenter le premier l'agent 1 fais parti du sous service numéro 1 appartenant au service numéro 1 et cette agent est directeur (jusque la pas de problème)
SAUF que fais incompréhensible si j'insère les 3 premier la il m'indique ce message d'erreur :
ce que je ne comprend manifestement pas car les clés primaires de la table faire_partie ne sont pas 3 fois les même !!
donc si quelqu'un savait ce qu'il se passe !!!
merci
cordialement
st0nky
je m'explique de ce pas :
je gère un annuaire téléphonique et dans mon MCD j'ai 3 entité qui sont relié à une association (une ternaire quoi) !! j'en vien à mon probleme
voici la structure de mes tables :
Code : Tout sélectionner
CREATE TABLE `agent` (
`CODE_AGENT` int(5) NOT NULL auto_increment,
`CODE_CIV` int(2) default '0',
`NOM_AGENT` varchar(128) default NULL,
`PRENOM_AGENT` varchar(128) default NULL,
`TEL_AGENT` varchar(30) default NULL,
`BIP_AGENT` int(5) default NULL,
`MAIL_AGENT` varchar(128) default NULL,
PRIMARY KEY (`CODE_AGENT`),
KEY `I_FK_AGENT_CIVILITÉ` (`CODE_CIV`)
) TYPE=MyISAM AUTO_INCREMENT=223
CREATE TABLE `service` (
`CODE_SERVICE` int(4) NOT NULL auto_increment,
`CODE_DEPARTEMENT` int(3) NOT NULL default '0',
`LIB_SERVICE` varchar(128) NOT NULL default '',
PRIMARY KEY (`CODE_SERVICE`),
KEY `I_FK_SERVICE_DEPARTEMENT` (`CODE_DEPARTEMENT`)
) TYPE=MyISAM AUTO_INCREMENT=21 ;
CREATE TABLE `sous_service` (
`CODE_SSERV` int(4) NOT NULL auto_increment,
`LIB_SSERV` varchar(128) NOT NULL default '',
PRIMARY KEY (`CODE_SSERV`)
) TYPE=MyISAM AUTO_INCREMENT=134 ;
et la ternaire :
CREATE TABLE `faire_partie` (
`CODE_SSERV` int(4) NOT NULL default '0',
`CODE_SERVICE` int(4) NOT NULL default '0',
`CODE_AGENT` int(5) NOT NULL default '0',
`poste` varchar(200) NOT NULL default '',
PRIMARY KEY (`CODE_AGENT`,`CODE_SSERV`),
KEY `I_FK_FAIRE_PARTIE_AGENT` (`CODE_AGENT`),
KEY `I_FK_FAIRE_PARTIE_SOUS_SERVICE` (`CODE_SSERV`),
KEY `I_FK_FAIRE_PARTIE_SERVICE` (`CODE_SERVICE`)
) TYPE=MyISAM;Code : Tout sélectionner
INSERT INTO faire_partie values (1,1,1,'Directeur');
INSERT INTO faire_partie values (1,1,2,'Attachée d''administration');
INSERT INTO faire_partie values (1,2,2,'Attachée d''administration');
INSERT INTO faire_partie values (1,2,3,'Directeur Adjoint');SAUF que fais incompréhensible si j'insère les 3 premier la il m'indique ce message d'erreur :
Code : Tout sélectionner
#1062 - Duplicata du champ '2-1' pour la clef 1donc si quelqu'un savait ce qu'il se passe !!!
merci
cordialement
st0nky