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 -
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 !
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:
- Liaison table erreur #1062 MySql
- Table ascii - Guide
- Table des matières word - Guide
- Mysql community server - Télécharger - Bases de données
- Table des caractères - Guide
- Table des annexes word ✓ - Forum Word
10 réponses
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.
tu cherches à faire quoi ? une insertion de données, un select, un update ?
A quoi ressemble ta requête ?
A quoi ressemble ta requête ?
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'
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'
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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 ?
#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 ?
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 ?
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.
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.