8722 sujets

Développement web côté serveur, CMS

Bonjour.

Je suis en train de bosser sur la création d'un intranet avec, très classiquement, de nombreuses opérations sur une bdd.
Et je me trouve à un moment dans une situation où une requête d'insertion risque selon les cas, d'être refusée à cause de la clef primaire. Ca m'arrange bien car du coup, les données en question qui ne sont pas insérées n'ont en fait pas de raison de l'être.

D'où ma question : quelle solution est préférable en terme de performance et aussi peut-être en terme de sécurité ?
- vaut-il mieux laisser les choses en l'état, en sachant que de temps en temps un script tentera d'exécuter une requête rejetée et générera une erreur au niveau du serveur MySQL ?
- ou vaut-il mieux contrôler les données avant toute tentative d'insertion pour éviter les erreurs ? (ci qui suppose d'exécuter systématiquement au moins un SELECT en plus.

A votre avis ?
Merci d'avance
Cordialement
Tu fais ton insertion, tu récupères le codes d'erreur de MySQL, si l'insertion est rejetée tu affiche un message d'erreur à l'utilisateur.
çà dépends si tu veux détecter ou non le cas ou la cle existe déjà, si tu veux ignorer ce cas tu peux utiliser la commande "INSERT IGNORE .... "
Bonjour et merci pour vos réponses.

Sur le coup, je craignais d'avoir mal formulé ma question, mais tout compte fait, la solution du IGNORE est excellente.
Merci beaucoup Zebrou !