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 :

Insertion de doublon avec primary key


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut Insertion de doublon avec primary key
    Salut,
    J'aimerais savoir si c'est mieux de faire une verification en php pour savoir si une entrée existe déjà avant de l'ajouter ou de laisser mysql s'en chargé toute en cachant l'erreur en php?

    Soit faire

    if(mysql_num_rows($data)==0){
    mysql_query("INSERT ...");
    }

    ou

    @mysql_query("INSERT ...");

    Merci.

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Globalement, les @ sont à utiliser avec grande prudence et si on a un doute, la règle, c'est de s'en passer.

    Le problème d'utiliser un @ c'est que si ton insertion foire pour une raison autre que "l'entrée existe déjà", tu n'auras pas de trace, et ca, pour le debuggage, c'est mal.

    Donc je suis plutôt partisant d'un test préalable et ne pas mettre de @, histoire de pouvoir récuperer quand même l'erreur s'il y a lieu.

    --
    Rakken

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    En espérant avoir compris la situation :
    Votre requête INSERT serait amenée à échouer à cause d'une contrainte (clé primaire par exemple) ? Dans cas oui, un SELECT me paraît bien plus propre avant (avec la combinaison de COUNT et WHERE ce n'est pas lourd) et permet d'assurer que la requête INSERT n'échoue pas éventuellement pour une autre raison.


    Julp.

Discussions similaires

  1. Export vers Access avec Primary Key
    Par benjisan dans le forum SAS Base
    Réponses: 3
    Dernier message: 08/02/2010, 12h15
  2. Create Table Select from avec Primary Key
    Par argyronet dans le forum SQL
    Réponses: 2
    Dernier message: 18/11/2008, 09h49
  3. probleme avec primary key
    Par hocinelux dans le forum Débuter
    Réponses: 11
    Dernier message: 05/08/2008, 16h26
  4. table avec deux champs primary key
    Par gilles69 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/03/2007, 11h44
  5. Table sans primary key avec Hibernate
    Par zizou771 dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/02/2007, 15h58

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