Auteur Sujet: Insert Into Sans Créer De Doublon ?  (Lu 4853 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne marie.f

  • Débutant
  • *
  • Messages: 59
Insert Into Sans Créer De Doublon ?
« le: 04 janvier 2005 à 10:35:11 »
Hello  ;)
J'ai créer un formulaire pour ajouter une données dans ma bdd, ce dernier contient, le nom, prénom, et une référence à son club (ID_club)

La requête est la suivante :
INSERT INTO nageurs
(ID_club, nom, prenom, mail)
VALUES
('$post_ID_club', '$post_nom', '$post_prenom', '$post_mail')


mais je ne voudai pas que la personne puisse être inscrite plusieurs fois, je ne veut pas de doublon sur le nom et prénom !

Alors comment y joindre :
SELECT DISTINCT nom, prenom FROM nageurs

ou comment faut-il formuler ma requête ?  :blink:

merci  :P
« Modifié: 04 janvier 2005 à 10:35:49 par marie.f »

Hors ligne CrazyTeacher

  • Connaisseur
  • ***
  • Messages: 331
    • http://www.koi29.info
Insert Into Sans Créer De Doublon ?
« Réponse #1 le: 04 janvier 2005 à 18:16:36 »
A mon avis, il faut d'abord que tu fasses un test dans ta table de la présence ou nom d'un éventuel doublon ( mais uniquement sur le nom et prénom)
Si le test est positif alors tu envoies un message de rejet sinon tu envoies ta requete d'insertion.
le SELECT ne sert que pour un choix, donc un retour d'information, pas pour une insertion.
Une chose qui convainc n'est pas vraie pour autant. Elle est seulement convaincante. Remarque destinée aux ânes.  /*La Volonté de Puissance*/ Nietzsche

"Parler pour ne rien dire et ne rien dire en parlant est le principe de ceux qui feraient mieux de la fermer avant de l'ouvrir ! "     Pierre Dac

koi29.info

Hors ligne Motte

  • Habitué
  • **
  • Messages: 111
    • http://www.lepicea.net/
Insert Into Sans Créer De Doublon ?
« Réponse #2 le: 07 janvier 2005 à 13:29:41 »
On ne peut pas ajouter de contrainte d'unicité sur une table MySQL ?
Ca éviterait de faire un SELECT inutile ; y'aurait juste à tester l'erreur SQL éventuelle résultant d'un doublon pour afficher un message approprié à l'utilisateur.
« Modifié: 07 janvier 2005 à 13:30:49 par Motte »
Forum Lepicea.net : Entraide, Partage, Informatique, Culture, Echange, Actualité

Hors ligne ElDino

  • Connaisseur
  • ***
  • Messages: 490
    • http://
Insert Into Sans Créer De Doublon ?
« Réponse #3 le: 07 janvier 2005 à 15:07:03 »
ALTER TABLE `nageurs` ADD UNIQUE (
`nom`
)
ALTER TABLE `nageurs` ADD UNIQUE (
`prenom`
)
(surement faisable en une fois, mais bon, hein :P)

Mysql refusera d'ajouter une entrée si elle crée un doublon ...
On n'est pas le meilleur quand on le croit, mais quand on le sait.
Morpheus



FireFox, c'est le Mal.

Hors ligne Motte

  • Habitué
  • **
  • Messages: 111
    • http://www.lepicea.net/
Insert Into Sans Créer De Doublon ?
« Réponse #4 le: 07 janvier 2005 à 15:34:58 »
Surtout pas comme ça. Sinon on ne pourra avoir 2 personnes avec le même prénom !

Je connais pas la syntaxe en MySQL, mais ce serait plutot quelque chose du genre :
ALTER TABLE nageurs ADD CONSTRAINT  nom_contrainte UNIQUE (nom, prenom)
Forum Lepicea.net : Entraide, Partage, Informatique, Culture, Echange, Actualité

Hors ligne ElDino

  • Connaisseur
  • ***
  • Messages: 490
    • http://
Insert Into Sans Créer De Doublon ?
« Réponse #5 le: 07 janvier 2005 à 16:59:03 »
Ha oué, exact, j'ai dit une grosse connerie  :rolleyes: ...
On n'est pas le meilleur quand on le croit, mais quand on le sait.
Morpheus



FireFox, c'est le Mal.

Hors ligne marie.f

  • Débutant
  • *
  • Messages: 59
Insert Into Sans Créer De Doublon ?
« Réponse #6 le: 07 janvier 2005 à 20:11:21 »
La méthode de Crazy est la meilleure.
Avec un if pour rechercher si le nom et prénom n'existe pas déjà. S'il existe alors il ne l'ajoute pas sinon il le rajoute à la base.
Merci Crazy et Ice biensûr !
 :P
« Modifié: 07 janvier 2005 à 20:11:38 par marie.f »

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Insert Into Sans Créer De Doublon ?
« Réponse #7 le: 07 janvier 2005 à 20:18:27 »
B)