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

Doctrine2 PHP Discussion :

Comment faire un insert ignore


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Par défaut Comment faire un insert ignore
    Salut,

    J'ai un champ unique dans ma table. Evidemment si je tente de rentrer un élément qui existe déjà j'ai une erreur duplicate entry. Comment faire pour faire un INSERT IGNORE, histoire de pas avoir d'erreur ?

    Merci !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Par défaut
    - tu peux faire try... catch.
    ou
    - faire une requete pour verifier l existance

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Par défaut
    Bon c'est bien dommage... mais ça explique mieux pourquoi j'ai rien trouvé sur ça... Je vais voir ça

    Merci

  4. #4
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    Rapidement, j'ai googelé un peu et il semble que Raptor ai raison avec le try/catch:
    http://stackoverflow.com/questions/2...y-and-doctrine

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Par défaut
    Tu m'en vois ravi.

    En fait, le try...catch est l'outil pour prevoir les erreurs et prendre les disposition adequate (pas seulement pour la bdd). C'est toujours mieux d'afficher un joli message qui indique de maniere comprehensible (pour l'utilisateur), que de renvoyer une page : "server error, contactez l administrateur"

    Le try... catch est à utiliser sans moderation!

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    			try {
    				$em->flush();
    			}
    			catch(Doctrine_Exception $e) {
    				if($e->getErrorCode() !== $duplicateKeyCode){
    				}
    			}
    Avec ça, ça marche ! Merci pour votre aide !

Discussions similaires

  1. Réponses: 9
    Dernier message: 02/06/2007, 19h06
  2. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/08/2006, 10h57
  3. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 09/08/2006, 10h57
  4. [DBF] Comment faire une insertion dans le fichier ?
    Par dor_boucle dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 14/12/2005, 07h46
  5. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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