Insertion sans doublon

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insertion sans doublon

par Hubert Roksor » 26 févr. 2005, 01:02

Et pourquoi pas un index UNIQUE ? si vous n'avez pas envie de gérer les warnings MySQL je pense qu'avec un INSERT IGNORE INTO pour insérer et un mysql_affected_rows() vous arrivez plus ou moins au même: -1 = erreur, 0 = doublon, 1 = insertion.

par fab » 25 févr. 2005, 22:56

pareil :)

par Jerem' » 25 févr. 2005, 21:59

Perso j'y crois pas trop, ça se saurait :P

par renan44 » 25 févr. 2005, 21:46

C'est pas que ça me gène, mais bon, s'y on aurait pu s'en passer pour une focntion direct, pourquoi s'en priver ????

par Jerem' » 25 févr. 2005, 20:44

Parce que c'est une requete supplémentaire pour la base

A petit niveau c'est pas grave mais sur une base à forte audience ça peut ralentir un peu.

Mais bon moi je select count(*) sans complexe aussi lol :P

par ouckileou » 25 févr. 2005, 20:41

ben si tu tentes d'insérer un tuple qui va créer un doublon de clé primaire, le sgbd va renvoyer une erreur donc on peut tester cette erreur

maintenant sur un autre champ je ne sais pas

mais pourquoi vous n'aimez pas le petit "select count(*)" avant ? :?:

par renan44 » 25 févr. 2005, 20:02

Cette question m'intéresse aussi, car c'et vrai que le select que j'utilise également au préalable pour la verification n'est pas franchement pratique...

Maintenant, est ce qu'il y a vraiment une focntion, bonne question
J'attends vos réponses aussi :wink:

Insertion sans doublon

par Invité » 25 févr. 2005, 19:18

Bonjour à tous

Existe t-il une fonction ou un moyen sur MySql qui permette de vérifier automatiquement avant ajout qu'une valeur n'apparait pas déjà dans la base? comme un retour d'erreur qui me permettrait d'agir en consequence, par exemple?

Pour l'instant, j'effectue une requète sql préalable (select.... > mysql_count_result) mais je me demandais si ce n'était pas possible de l'éviter.

Merci d'avance