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 :

Delete sur 2 tables


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Par défaut Delete sur 2 tables
    Bonjour, mon probleme est trés simple,
    Mon application comporte des pages, dans chaque pages plusieurs zone.
    structure de la table Page id_page primary
    structure de la table zone id_zone primary
    id_page secondary

    Si je veux supprimer la page plus les zone je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE PAGE, ZONE
    FROM PAGE, ZONE
    WHERE PAGE.ID_PAGE='".$id_page."'
    AND PAGE.ID_PAGE=ZONE.ID_PAGE;
    Par contre si la page ne comporte pas de zone, impossible de la supprimer...
    Comment procéder ?

    Merci beaucoup

    Benoit

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    La solution la plus approprié je pense est l'utilisation d'un ON DELETE CASCADE

    Je t'invite donc à lire cet article qui explique comment éviter ce genre de problèmes.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Par défaut
    Merci beaucoup pour la reponse (trés trés rapide)!
    Je vais étudiez sa... mais demain ! :p lol

    Bonne nuit
    et encore merci Kazou*



    EDIT :

    Bonjour, bon je galère un peu ... lol
    J'ai lu la page de kazou, et je vois bien se que je dois faire : créé une contrainte sur la table zone.
    Donc pour se faire deja j'ai fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table 'toute mes tables' ENGIN = innodb
    Puis je voulais faire sur ma tables " esclaves " un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE `ZONE`
    ADD CONSTRAINT `fk_zone_page` FOREIGN KEY (`ID_ZONE`) REFERENCES `PAGE` (`ID_PAGE`);
    Et la j'ai un retour bizarre, j'ai peur que ma table soit corrompue...


    Voici l'érreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1452 - Cannot add or update a child row: a foreign key constraint fails (`boissinot_db/#sql-109a_6d1`, CONSTRAINT `fk_zone_page` FOREIGN KEY (`ID_ZONE`) REFERENCES `PAGE` (`ID_PAGE`))
    Merci pour toute info !

    Benoit



    RE EDIT : C'est bon Je suis une buse :p loool
    Je fesais avec "l'assitant" a la fin, et je mettais la contrainte sur ID_ZONE ( Primary de Zone ) a la place de ID_PAGE ( Foreign )

    Merci beaucoup en tout cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE `ZONE`
    ADD CONSTRAINT `fk_zone_page` FOREIGN KEY (`ID_PAGE`) REFERENCES `PAGE` (`ID_PAGE`);

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

Discussions similaires

  1. Requete delete sur trois table
    Par ganga dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/10/2006, 17h49
  2. delete sur deux table
    Par kitty2006 dans le forum Administration
    Réponses: 7
    Dernier message: 25/09/2006, 10h05
  3. Delete sur plusieurs tables
    Par estelledany dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/07/2006, 11h16
  4. [MSDE] Delete sur plusieurs tables ?
    Par hardballer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2006, 10h13
  5. delete sur plusieurs tables
    Par drinkmilk dans le forum Oracle
    Réponses: 11
    Dernier message: 22/03/2006, 16h43

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