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

PHP & Base de données Discussion :

Vérifier l'existance d'une entrée avant l'insertion dans une BD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Points : 36
    Points
    36
    Par défaut Vérifier l'existance d'une entrée avant l'insertion dans une BD
    Bonjour,

    J'ai besoin d'insérer une série d'entrée dans ma BD dont l'un des champs est un INT du type 22XXXX. Je genere les 4 chiffres suivant aléatoirement mais j'aimerai être sur que il n'existe pas déjà dans ma BD avant d'insérer chaque nouvelle entrée.

    Une boucle permet la création de X entrée à la fois.

    Je pense que c'est possible en ajax mais je ne m'y connais pas trop dans ce domaine y a t il un moyen de faire sans ???

    Comment puis je procéder Merci d'avance pour le coup de main.

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Salut,

    Dans le cas ou ton code est déjà existant dans la BDD quel est le comportement souhaité ?

    La ligne doit être tout simplement zappé et on continue avec la suivante ?
    Si c'est cas, et que tu peux passer ta colonne en UNIQUE, tu peux toujours ajouter un IGNORE dans ta requête d'insertion.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT IGNORE
        INTO tbl_name SET ...
    Zend PHP5 Certification
    MySQL 4 Core Certification

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    peut etre que la fonction replace de mysql (si c'est le sgbd que t'utilise) sera à ton gout. cette fonction permet de faire un update si la clé existe et un insert sinon. fait une recherche sur replace pour plus de détail.

    La solution 2 consisterait a verifier par toi meme si la valeur n'existe pas avant d'inserer
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 743
    Points
    11 743
    Par défaut
    attention, REPLACE ne fait pas un UPDATE mais un DELETE suivi d'un INSERT ; du coup on peut perdre certaines valeurs.
    Le INSERT... ON DUPLICATE KEY UPDATE est moins dangereux.
    Antoun
    Expert Tableau, Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    merci antoun pour la correction. thx
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Points : 36
    Points
    36
    Par défaut
    Merci a tous je vais trouver mon bonheur avec ca

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2008, 21h32
  2. Réponses: 1
    Dernier message: 16/05/2007, 12h51
  3. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34
  4. Réponses: 2
    Dernier message: 20/06/2006, 08h22
  5. [MySQL] Pb d'insertion d'une valeur de champ select dans une Bdd
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 20/10/2005, 18h51

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