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

Requêtes MySQL Discussion :

Requête INSERT conditionnelle


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut Requête INSERT conditionnelle
    Bonjour,

    Savez-vous comment vérifier dans une table si un id existe avant de faire un insert, en écrivant cela en 1 seule requete ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO ventes (vte_id, cmd_id, ...) VALUES ('', ...)" WHERE cmd_id!=$cmd_id);
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Quelle est la finalité de cette requête ? Ne pas en tenir compte (regarde INSERT IGNORE) ? Mettre à jour des valeurs (regarde INSERT ... ON DUPLICATE KEY UPDATE) ?

  3. #3
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Bonjour,

    Le but est simple, c'est de vérifier le contenu de la table avant d'insérer pour éviter les doublons,

    Cordialement

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Si ce n'est que ça, tu ajoutes une contrainte en base de données, genre un INDEX UNIQUE sur ta colonne cmd_id par exemple.
    Mais mettre un INDEX UNIQUE sur une clef étrangère, ça révèle sans doute une mauvaise modélisation.

  5. #5
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Auriez-vous un exemple de requete pour voir le principe svp merci

  6. #6
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Le soucis est que une commande, ex ID_CMD=523 peut comporter 10 produits identiques pour 1 commande (1 Ligne) => CMD_QTE=10
    dans la table ventes il faut d'abord vérifier que ID_CMD=523 existe, avant ajouter 10 produits (10 lignes)

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Oulah, ça y est tu m'embrouilles.

    Si je comprends bien : Tu aimerais vérifier dans ta table ventes si cmd_id existe ou pas pour augmenter la quantité des produits si elle existe et insérer une ligne sinon ?

    Et une commande ne peut pas avoir des produits différents ?

    Tu devrais déjà commencer pour nous montrer ton modèle conceptuel ou physique, parce que ça devient bizarre là.

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

Discussions similaires

  1. Requête d'insertion conditionnelle
    Par nid4mail dans le forum Langage SQL
    Réponses: 5
    Dernier message: 28/11/2013, 15h32
  2. requête insert
    Par mattoo dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2005, 14h09
  3. Réponses: 4
    Dernier message: 05/04/2005, 18h28
  4. probleme requête insert.... where
    Par Amandine62 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/02/2005, 14h26
  5. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45

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