Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1626 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  duplicate entry for key sur une requete UPDATE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

duplicate entry for key sur une requete UPDATE

n°1407870
gamer-fou
AHHHHHH§§§!!!
Posté le 17-07-2006 à 10:33:35  profilanswer
 

Bon voila, je sais pas trop si ca concerne php ou mysql (a mon avis c'est plutôt lui m'enfin...)
J'ai une table qui correspond a une liste de materiel informatique, chacun ayant une id unique (mais pas auto incrementée) et des infos comme le proc, la ram, etc... (c'est pour un inventaire).
L'ajout fonctionne sans probleme, mais quand je veux faire un update de la table (pour modifier un materiel donc), j'ai une erreur Duplicate entry 'x' for key 1
où x est l'id unique de mon materiel, qui n'a pas été modifiée mais qui est quand même incluse dans la requete

Code :
  1. mysql_query("UPDATE materiel_ecran SET IdEcran='$idecran', EFournisseur='$fournisseur', EMarque='$marque', EModele='$modele', EType='$type', ETaille='$taille', ENumSerie='$numserie', EDateEntree='$dateentree', EDateSortie='$datesortie', EDateFinGarantie='$datefingarantie', EIdentiFacture='$identfacture', EIdUtilisateur='$utilisateur' " ) or die(mysql_error());


(oui là en fait c'est la table pour les ecrans, la requete est plus courte  :lol: )
Donc ce que je comprend c'est qu'il refuse de creer une nouvelle entrée avec la même id (normal), sauf que finalement je lui demande pas ca du tout... qu'est ce que je peux faire?
merci ;)

mood
Publicité
Posté le 17-07-2006 à 10:33:35  profilanswer
 

n°1407997
olivthill
Posté le 17-07-2006 à 12:12:53  profilanswer
 

J'ai l'impression que c'est un problème causé par l'utilisation des apostrophes du PHP.
Il faudrait donc essyer :

mysql_query("UPDATE materiel_ecran SET IdEcran='".$idecran."', EFournisseur='".
  $fournisseur."', EMarque='".$marque."', EModele='".
  $modele."', EType='".$type."', ETaille='".$taille."', ENumSerie='".
  $numserie."', EDateEntree='".$dateentree."', EDateSortie='".
  $datesortie."', EDateFinGarantie='".$datefingarantie."', EIdentiFacture='".
  $identfacture."', EIdUtilisateur='".$utilisateur."' " ) or die(mysql_error());

n°1408015
gamer-fou
AHHHHHH§§§!!!
Posté le 17-07-2006 à 12:29:42  profilanswer
 

je ne pense pas, la requete fonctionne tres bien si j'enleve juste le IdEcran='$idecran',  
a mon avis c'est vraiment la table qui deconne, mais je sais pas où :(

n°1409286
fifiz
Posté le 19-07-2006 à 11:30:34  profilanswer
 

Soit tu fait un update mais sans mettre la clef dans ton "set ..." soit tu fait un insert mais comme l'update est interdit sur la clef ça me semble assez normal qu'il rale un peu =)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  duplicate entry for key sur une requete UPDATE

 

Sujets relatifs
c# requete parametree [LDAP/JAVA] value of naming attribute 'cn' is not present in entry
[ACCESS] récupérer une requete sous VB[Hibernate ] récup requête SQL texte auto générée
Requete SQL problématiquerequête sql sur fichiers dBase à partir d'excel
Requête sur le mois et l'année d'une date...?[.NET] DataTable ou DataAdapter et update/insert -goto en C# oo-
Problème accent dans requete sqlProblème de type dans une requête SQL
Plus de sujets relatifs à : duplicate entry for key sur une requete UPDATE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR