des fois, il s'agit seulement de savoir lire.Citation:
Violation de la contrainte PRIMARY KEY 'PK_PIECE_CONSOMMEE'.
Version imprimable
des fois, il s'agit seulement de savoir lire.Citation:
Violation de la contrainte PRIMARY KEY 'PK_PIECE_CONSOMMEE'.
Merci mais je sais lire c'est juste que je vois pas trop comment faire pour régler ce problème!!
Merci d'avance!!
Sais-tu ce qu'est une Primary Key (PK) ?
Disant que j'ai une table personne
Dans cette table, j'ai défini ID comme étant ma clé primaire (PRIMARY KEY), mon Identifiant Unique (càd : je n'aurais jamais deux personnes différentes avec le même ID)Citation:
ID| Nom_et_Prenom
1 | jacque montalie
2 | françoise français
3 | Mamadou le Blanc
Si maintenant, je veux exécuter cette requête
J'aurai une Exception "Violation de Clé Primaire" parce qu'une personne ayant l'ID 1 existe déjà.Code:
1
2"INSERT INTO Personne (ID,Nom_et_Prenom) VALUES (1,'Un Nom et Un Prénom');"
zehle te l'as parfaitement expliqué, mais pour éviter des erreurs du genre, moi je crée un champ ID de type int qui est ma clé et que je mets à Auto incrémente; du coup plus de souci de violation de clé ;)Citation:
Merci mais je sais lire c'est juste que je vois pas trop comment faire pour régler ce problème!!
Merci d'avance!!
Réponse à Guulh : Oui je sais ce qu'est une "Primary Key".
Réponse à zehle : Merci pour tes explications, je comprend mieu le problème.
Réponse à fally : Ton idée est pas bête mais le problème c'est que la table "PIECE_CONSOMMEE" est composé de 2 clé primaire, pour que ce soit plus simple, voici le schéma de la base ci-joint.(le MCD) Et si je fais comme tu ma dit, j'ai toujours le message d'erreur!!
Merci a vous tous pour votre aide!!
ok, si j'ai bien compris ta table PIECE_CONSOMMEE, les deux clés ne doivent pas se répéter; pour ce faire tu dois créer un index unique sur ces deux clés mais cela ne t'empêche pas de créer l'ID comme je te l'ai dit. Cependant, c'est à toi de voir dans le code pour qu'une même INTERVENTION et un même ARTICLE ne se répètent pas!
Que veux tu dire par un "index unique"?? comment fais tu cela??
Oui effectivement dans mon code je vais faire en sorte que pour une intervention on es une fois le même article mais l'intervention peux se répéter vu que l'on peux choissir plusieurs articles pour la même intervention.
Cordialement!!
quand on crée un index sur un champ dans une table, c'est qu'on veut dire qu'on peut vouloir sélectionner des enregistrements dans cette table en se basant sur certains critères de ce champ indexé!
Un index UNIQUE lui est comme une clé de la table, il est unique et se comporte comme une clé (et dans ton cas pour ta table PIECE_CONSOMMEE en a besoin)!
Pour créer un index, tu vas dans l'enterprise manager, tu clique droit sur ta table --> Gérer les index et tu coches les champs qui sont concernés, donne un nom à l'index et coche "valeur unique" ;)
Merci pour ton renseignement. Mais j'ai le problème suivant : lorsque je souhaite modifier 'PK_PIECE_CONSOMMEE' "valeur unique" est déja coché.
Donc je me demandé si je dois cocher "valeur unique" pour les autres contraintes??
Ci-joint un exemple de ce que j'obtient lorsque j'effectue :Merci d'avance!!Citation:
Pour créer un index, tu vas dans l'enterprise manager, tu clique droit sur ta table --> Gérer les index et tu coches les champs qui sont concernés, donne un nom à l'index et coche "valeur unique"
J'ai réussit a régler mon problème depuis le 24jullet. Je remercie tout ceux qui m'on aidé!!