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

Servlets/JSP Java Discussion :

modifier un champ qui est une clé étrangère


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut modifier un champ qui est une clé étrangère
    j'ai un code pour modifier un profil, alors qu'un champ qui est une clé étrangère me génère une erreur
    Cannot delete or update a parent row: a foreign key constraint fails

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    public boolean save() {
            try {
                cnx.setAutoCommit(false);
     
                updateCompte();                  //modifie la table compte            updateEtudiant();                 //modifie la table etudiant
                updateFils(codeP,codeM);      //modifie la table des parents
     
     
                cnx.commit();
                return true;
            } catch (Exception e2) {
                try {
                    cnx.rollback();
                    e2.printStackTrace();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
                e2.printStackTrace();
                return false;
            } finally {
                try {
                    cnx.setAutoCommit(true);
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
            }
    alors toutes les tables contiennent la clé de la table étudiant comme clé étrangère, quand je la modifie , la table compte se modifie normal alors qu'elle est entre commit normalement elle se modifie pas, la table etudiant et fils ne se modifient pas et l'erreur est générée

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Points : 349
    Points
    349
    Par défaut
    Salut.
    Je croie que c'est au niveau du SGBD que tu dois gérer ça (Voir contrainte d'intégrité référentielle).

  3. #3
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut
    comment ça je ne comprends pas, vous voulez dire sur mySQL ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu ne peux pas modifier ou supprimer une clé primaire tant que toutes les lignes d'autres tables qui référencent cette clé primaire n'ont pas été effacées. D'ailleurs avec un design de table correct on n'a jamais besoin de changer une clé primaire.

  5. #5
    Membre habitué Avatar de Hind4Dev
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 428
    Points : 140
    Points
    140
    Par défaut
    j'ai trouvé la solution voilà le tutoriel pour d'autres qui en ont le même


    je l'ai testé sur application JSE mais pas encore sur JEE car le serveur me cause problème

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

Discussions similaires

  1. [Toutes versions] Requête impossible sur champ qui est une liste déroulante.
    Par fxbdl dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/07/2015, 10h34
  2. Réponses: 6
    Dernier message: 12/09/2014, 14h31
  3. Réponses: 2
    Dernier message: 22/02/2008, 10h54
  4. [MySQL] Savoir si un champ est une clé étrangère
    Par mattyeux dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/01/2008, 22h22
  5. Réponses: 3
    Dernier message: 18/07/2006, 10h17

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