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 :

Mise à jour d'une clé primaire


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Points : 51
    Points
    51
    Par défaut Mise à jour d'une clé primaire
    Bonjour tout le monde

    J'ai une table "Employée" dans ma base de données contenant les champs suivants :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE IF NOT EXISTS `employee` (
      `Pwd` varchar(100) NOT NULL, (*)
      `OFFICE` int(11) NOT NULL,
      `TITLE` int(11) NOT NULL,
      `TEAM` int(11) NOT NULL,
      `Pwd_Pwd` varchar(100) DEFAULT NULL, (**)
      `NAME` char(50) DEFAULT NULL,
      `SURNAME` char(50) DEFAULT NULL,
      `ADRESS` varchar(50) DEFAULT NULL,
      `PHONE` int(11) DEFAULT NULL,
      `EMAIL` varchar(40) DEFAULT NULL,
      `STARTING_DATE` date DEFAULT NULL,

    Description:
    1-OFFICE, TEAM et TITLE sont des clès étrangèrs.
    2-La clè primaire de ma table est le password "Pwd".
    3-De plus, j'ai une relation refléxive : 0,1----0,N, la clè primaire Pwd se répète deux fois : voir (*) et (**).
    4-il y a plusieurs tables qui héritent la clé primaire pwd)

    Problème:
    Je n'arrive pas à updater le password. J'ai essayé avec ON UPDATE CASCADE mais pas de résultat et je reçoit le message suivant :
    #1451 Cannot delete or update a parent row: a foreign key constraint fails ............."
    Est ce j'ai commis une erreur quand j'ai choisi le pwd comme clé primaire ????

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi ton mot de passe serait une clef primaire ?
    Deux utilisateurs ne pourraient pas avoir le même mot de passe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Points : 134
    Points
    134
    Par défaut
    Salut
    Tout comme sabotage je vois pas la nécessité de définir un champ password comme clé primaire encors moins de mettre une association réflexive la dessus. Toutesfois pourrais tu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show create table employe
    et poster ce que ça donne? L'erreur peut être liée a la définition de ta contrainte et/ou au moteur de base de données utilisé (innoDB ou myIsam)

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    vue qu'un autre table a une référence sur ta clé primaire et que cette clé étrangère n'a pas défini d'action lors d'une suppression ou une modification de la clé primaire, MySQL ne permet pas la modification de la clé primaire.

    Tu devrait passer par des ON UPDATE CASCADE ou autre.
    une réponse vous a permis d'avancer ?

Discussions similaires

  1. Mise à jour d'une clé primaire
    Par Anibel dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/02/2013, 19h49
  2. Réponses: 2
    Dernier message: 05/07/2010, 15h19
  3. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  4. Mise à jour d'une bd mysql
    Par joquetino dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/01/2005, 14h05
  5. [FireBird 1.5]Mise à jour d'une SGBD ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 3
    Dernier message: 03/09/2004, 16h45

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