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

Langage SQL Discussion :

Suppression Multiple [Débutant(e)]


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de jockhip12
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 195
    Points : 134
    Points
    134
    Par défaut Suppression Multiple
    Bonjour,

    J'ai deux tables nommées import_account et ftp_account. La table import_account contient le champ id_ftp_account qui est un clé étranger à la table ftp_account. Je veux faire une requête de suppression pour les deux table. J'ai exécuté cette requête mais sans résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE import_account IA, ftp_account FA WHERE IA.id='21' and FA.id=IA.id_ftp_account;
    Aidez moi s'il vous plaît.

    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Si tes tables sont en InnoDB, déclare la clé étrangère avec une contrainte ON DELETE CASCADE et la suppression dans la table ftp_account supprimera automatiquement dans la table import_account.

    Normalement, DELETE ne supprime que dans une table à la fois, sauf avec les contraintes d'intégrité des clés étrangères.

  3. #3
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    Ou faire deux requêtes de suppression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DELETE ftp_account FA 
    WHERE EXISTS
      (SELECT 1
      FROM  import_account IA
      WHERE FA.id = IA.id_ftp_account
      AND IA.id = '21');
     
    DELETE import_account
    WHERE id='21';

  4. #4
    Membre habitué Avatar de jockhip12
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 195
    Points : 134
    Points
    134
    Par défaut
    Merci pour les réponses, mais cette requête

    Citation Envoyé par Scriuiw Voir le message
    Ou faire deux requêtes de suppression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DELETE ftp_account FA 
    WHERE EXISTS
      (SELECT 1
      FROM  import_account IA
      WHERE FA.id = IA.id_ftp_account
      AND IA.id = '21');
     
    DELETE import_account
    WHERE id='21';
    retourne cette erreur :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE EXISTS
    (SELECT 1
    FROM re_import_account IA
    WHERE FA.id = IA.id_ftp_acco' at line 2

  5. #5
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Il me semble que MySQL ne supporte pas les suppressions avec une sous-requête.

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

Discussions similaires

  1. suppression multiple dans un treeview
    Par tomkiki dans le forum Delphi
    Réponses: 6
    Dernier message: 09/05/2007, 15h30
  2. suppression multiple, clé primaire multiple
    Par javaweb44 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/12/2006, 17h51
  3. Suppression multiple à partir Zone de Liste
    Par Daniel MOREAU dans le forum Access
    Réponses: 4
    Dernier message: 28/08/2006, 09h04
  4. [forms 9i] case à cocher : suppression multiple
    Par ramaro dans le forum Forms
    Réponses: 3
    Dernier message: 05/04/2006, 09h33

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