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

 MySQL Discussion :

Supprimer des enregistrements d'une table présents dans une autre table


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 41
    Points : 22
    Points
    22
    Par défaut Supprimer des enregistrements d'une table présents dans une autre table
    Bonjour,

    je souhaite supprimer certains enregistrements d'une table en faisant référence à une aute table, soit une requête du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    delete from matable1
    where (matable1.critere=matable2.critere);
    Je veux que les enregistrements présents dans matable1 soit supprimés de matable2.
    Avez-vous une idée ?

    J'ai cherché du côté des jointures dans ce but, mais je n'ai pas abouti...

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    En s'inspirant de cette réponse dans la FAQ MySQL : http://mysql.developpez.com/faq/?pag..._data_sans_ref

    Dans le cas présent, il suffit de remplacer la jointure externe par une jointure interne et d'enlever la condition WHERE...
    Ca donne quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE t1 
    FROM matable1 t1
    INNER JOIN matable2 t2 ON t1.critere = t2.critere;
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    Yes, c'est parfait, merci ced !

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

Discussions similaires

  1. Recherche d'une valeur présent dans une table mais pas dans une autre
    Par bossLINDROS dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/06/2008, 15h12
  2. Réponses: 4
    Dernier message: 25/11/2007, 21h12
  3. Table resultant d'une requete sélection dans une jointure
    Par moabomotal dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/02/2007, 13h42
  4. Réponses: 12
    Dernier message: 20/04/2006, 14h23
  5. Telecharger une image présente dans une BDD à partir de PHP
    Par guillaumeIOB dans le forum Bibliothèques et frameworks
    Réponses: 58
    Dernier message: 02/04/2006, 15h42

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