IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

optimiser vérification de doublons


Sujet :

SQL Procédural MySQL

  1. #1
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut optimiser vérification de doublons
    salut,
    J'ai une page php qui insère des données dans une base mysql.
    avant l'insertion, je fais une requête (fonction checkEntry) pour être sûr que les données n'existent pas déjà dans la base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    	function saveSignature(){
    		$nom = mysql_real_escape_string($_POST['nom']);
    		$prenom = mysql_real_escape_string($_POST['prenom']);
    		$adresse = mysql_real_escape_string($_POST['adresse']);
    		$prof = mysql_real_escape_string($_POST['profession']);
    		if ($this->checkEntry($nom,$prenom)){
    			$query = sprintf("INSERT INTO signataire (`nom`, `prenom`, `adresse`, `profession`, `date`) 
    							  VALUES ('%s', '%s', '%s','%s', NOW())",
    							  $nom, $prenom, $adresse, $prof );
    			if (mysql_query($query))
    				return true;
    		}
    		else
    			return false;
    	}
     
    	function checkEntry($nom,$prenom){
    		$query = sprintf("SELECT COUNT(*) FROM signataire WHERE nom='%s' AND prenom='%s'",$nom ,$prenom);
    		echo $query;
    		$check = mysql_query($query);
    		if (mysql_result($check,0,0) == 0){
    			return true;
    		}
    		else {
    			return false;
    		}
    	}
    je me demande si il est possible de faire tout ça en une seule requête?

  2. #2
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Tu peux regarder du côté de la fonction INSERT IGNORE dans la doc MYSQL...
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  3. #3
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    sinon si ta clef primaire est fonction du nom tu peux utiliser ON DUPLICATE KEY UPDATE

  4. #4
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    merci pour vos réponses.
    En fait, il suffit de désigner les deux champs nom et prenom comme unique et mysql n'autorise pas les doublons !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification de doublons
    Par log33 dans le forum Excel
    Réponses: 4
    Dernier message: 23/03/2009, 16h11
  2. [MySQL] Vérification de doublons dans une table
    Par Telecaster dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/07/2008, 15h55
  3. optimisation requete de doublons
    Par JulienCEA dans le forum Langage SQL
    Réponses: 22
    Dernier message: 31/01/2008, 16h08
  4. Réponses: 6
    Dernier message: 15/06/2006, 15h15
  5. [MySQL] Vérification de doublons avant insertion
    Par Nicos77 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 09/12/2005, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo