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

PHP & Base de données Discussion :

modification clé primaire d'une table, qui est aussi clé etrangère


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut modification clé primaire d'une table, qui est aussi clé etrangère
    probleme de modification d'une clé primaire d'une table, qui est aussi clé etrangère dans une autre table.

    Je veux modifier une ligne de la table mère, la clé primaire de cette ligne, et je veux que les modifications se repercutent dans la table fille.
    Je code avec php+mysql.

    J'ai vu dans la doc mysql qu'il faut utiliser on update cascade ce que j'ai fait, mais ça ne fonctionne tjrs pas impossible de modifier la table en question; je vous colle ce que j'ai fait et le message d'erreur, merci d'avance pour votre aide :

    Code sql : 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
    ALTER TABLE  `type_vehicule` DROP FOREIGN KEY  `type_vehicule_ibfk_1` ;
     
    ALTER TABLE  `type_vehicule` ADD FOREIGN KEY (  `CODE_TYPE_VEHICULE` ) REFERENCES  `dblocavehicules`.`type_vehicule` (
    `CODE_TYPE_VEHICULE`
    ) ON UPDATE CASCADE ;
     
     
    ALTER TABLE  `vehicule` DROP FOREIGN KEY  `vehicule_ibfk_1` ;
     
    ALTER TABLE  `vehicule` ADD FOREIGN KEY (  `CODE_TYPE_VEHICULE` ) REFERENCES  `dblocavehicules`.`type_vehicule` (
    `CODE_TYPE_VEHICULE`
    ) ON UPDATE CASCADE ;
     
    ALTER TABLE  `vehicule` DROP FOREIGN KEY  `vehicule_ibfk_2` ;
     
    ALTER TABLE  `vehicule` ADD FOREIGN KEY (  `NUM_MODELE` ) REFERENCES  `dblocavehicules`.`modele_vehicule` (
    `NUM_MODELE`
    );

    Message d'erreur : #1452 - Cannot add or update a child row: a foreign key constraint fails (`dblocavehicules/type_vehicule`, CONSTRAINT `type_vehicule_ibfk_1` FOREIGN KEY (`CODE_TYPE_VEHICULE`) REFERENCES `type_vehicule` (`CODE_TYPE_VEHICULE`) ON UPDATE CASCADE)
    Dernière modification par Celira ; 19/11/2008 à 11h09.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Il a été dit 50 milliards de fois qu'IL NE FAUT JAMAIS modifier une clé primaire.

  3. #3
    Invité
    Invité(e)
    Par défaut re : on cascade
    C'est possible avec ON cascade normalement, donc je demande comment faire même si une clé primaire en principe ne se modifie pas, mais dans mon cas j'en ai besoin, donc je pose la question et j'aimerai une réponse précise et technique sur la chose ?

    merci cordialement.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/03/2015, 18h49
  2. Réponses: 11
    Dernier message: 16/05/2011, 14h36
  3. Réponses: 9
    Dernier message: 08/11/2010, 17h12
  4. Clef primaire sur une table qui n'en a pas d'après PhpMyAdmin
    Par bubulemaster dans le forum Requêtes
    Réponses: 5
    Dernier message: 11/04/2009, 18h44
  5. JOIN avec une table qui est dans une AUTRE base access
    Par bastringue dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 30/05/2008, 14h41

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