Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/10/2011, 18h18   #1
Membre du Club
 
Inscription : janvier 2008
Messages : 706
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 706
Points : 66
Points : 66
Par défaut erreur duplicate entry

bonjour,

voila on m'a conseiller pour l'architecture de ma base mais j'ai un message d'erreur a l'insertion d un enregistrements:
Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '110-105' for key 1

Tables :
membre (id_membre...)
groupe (id_groupe...)
creation_groupe (ref_membre, ref_groupe)
participation_groupe (ref_membre, ref_groupe, ref_createur)



Dans la dernière table, tu auras une clé étrangère qui référence la clé primaire de la table "creation_groupe", c'est à dire le couple {ref_membre, ref_groupe} de "creation_groupe".
Et "ref_membre" de "participation_groupe" référence "id_membre" de la table "membre".

donc j'ai fait ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
CREATE TABLE `groupe_membre` (
  `ref_membre` int(11) unsigned NOT NULL,
  `ref_groupe` int(11) NOT NULL,
  `ref_createur` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`ref_membre`,`ref_groupe`),
  KEY `ref_membre` (`ref_membre`),
  KEY `ref_groupe` (`ref_groupe`),
  KEY `ref_createur` (`ref_createur`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
-- 
-- Contenu de la table `groupe_membre`
-- 
 
INSERT INTO `groupe_membre` VALUES (1, 3, 1);
INSERT INTO `groupe_membre` VALUES (1, 109, 1);
INSERT INTO `groupe_membre` VALUES (1, 114, 1);
INSERT INTO `groupe_membre` VALUES (2, 105, 1);
INSERT INTO `groupe_membre` VALUES (2, 111, 1);
INSERT INTO `groupe_membre` VALUES (2, 120, 1);
INSERT INTO `groupe_membre` VALUES (2, 122, 1);
INSERT INTO `groupe_membre` VALUES (6, 1, 1);
 
 
-- 
ALTER TABLE `groupe_membre`
  ADD CONSTRAINT `groupe_membre_ibfk_2` FOREIGN KEY (`ref_groupe`) REFERENCES `associer_groupe` (`ref_groupe`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `groupe_membre_ibfk_4` FOREIGN KEY (`ref_membre`) REFERENCES `membre_ovip` (`id_membre`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `groupe_membre_ibfk_5` FOREIGN KEY (`ref_createur`) REFERENCES `associer_groupe` (`ref_membre`) ON DELETE CASCADE ON UPDATE CASCADE;
en faite un groupe peut etre creer un membre
un membre peut posseder un ou plusieurs groupes.
un membre peut participer un ou + groupe.

j'ai dut creer cette architecture car un membre qui est creer doit avoir deux base dans la base deux groupe de base amis et famille.
j'ai essayer de faire un mcd correspondant a ce que on m'a dit.


j'ai mit le mcd que je pense avait fait une erreur avec les indications est peut est ce cela les erreurs.

merci de votre aide.
Images attachées
Type de fichier : png mcd.png (31,7 Ko, 6 affichages)
kate59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 17h04   #2
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Tu peux copier ton code qui lève l'exception?
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web