Liaison table erreur #1062 MySql

keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je crée une base de donnée via phpMyAdmin mais j'ai un petit problème comme vous l'aurez deviner (!!)

j'ai 3 tables : Client, Sauvegarde, Logiciel

une sauvegarde est lié à un client et est faite par un logiciel.

exemple :
ID sauvegarde : 1, ID client : 1, ID logiciel : 2

mon problème c'est que ID logiciel ne peut pas être réutiliser
#1062 - duplicate entry '1' for key 'primary'
j'ai une centaine de client, j'ai 5 logiciel il est donc normal que la clé ID logiciel se repette mais visiblement pas pour php MyAdmin ^^

une petite idée ? un petit coup de main ?

d'avance merci !

A voir également:

10 réponses

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
oui, mais c'est une "mauvaise solution", je fais comme ça par habitude, ça marche, mais ça pourrait poser des soucis dans certains cas, mais si tu vérifies suffisamment tes données dans ton application, tu ne devrais pas avoir de soucis majeur.
1
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
tu cherches à faire quoi ? une insertion de données, un select, un update ?

A quoi ressemble ta requête ?
0
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
je remplie ma base à la main via l'onglet "inserer" et j'ai également préciser que les clefs provenais des autres tables via la vue relationnel

INSERT INTO 'sauvegarde' ('ID_Sauvegarde', 'ID_Client', 'ID_Logiciel', 'Date_Sauvegarde', 'Etat_Sauvegarde') VALUES ('3', '3', '1', '2013-01-01', 'ko')

#1062 - Duplicate entry '1' for key 'ID_Logiciel'
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
quelle est la structure de ta table sauvegarde ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Colonne Type Null Défaut Relié à

ID_Sauvegarde int(11) Non
ID_Client int(11) Non client -> ID_client
ID_Logiciel int(11) Non logiciel -> ID_Logiciel
Date_Sauvegarde date Non
Etat_Sauvegarde varchar(2) Non
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Et si tu fais la même chose avec un id logiciel qui n'existe pas ? Est-ce que ça te crée une nouvelle entrée dans la table logiciel ?
0
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
#1452 - Cannot add or update a child row: a foreign key constraint fails ('sauvegarde', CONSTRAINT 'sauvegarde_ibfk_2' FOREIGN KEY ('ID_Logiciel') REFERENCES 'logiciel' ('ID_Logiciel'))

il ne me crée et j'ai ce message d'erreur

finalement tout ce que je cherche à faire c'est de lié un logiciel à plusieurs sauvegarde sur le principe ça me parait possible non ?
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Pour être tout à fait franc avec toi je n'utilise pas les contraintes d'intégrité de mysql, ce sont mes applications qui font ces liens (je sais, c'est pas bien) mais du coup je n'ai pas ce genre de soucis...

Alors j'aurais tendance à te dire de faire comme moi, mais c'est sûr que ça n'est pas une vraie solution, c'est un contournement.
0
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
donc si je comprend bien ne pas crée de lien directement via MySql mais de lié les deux table autrement ?
0
keuha Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci bien !
0