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 :

[SQL] desactiver une contrainte de clé primaire puis l'a reactive


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut [SQL] desactiver une contrainte de clé primaire puis l'a reactive
    Bonjour tout le monde, alors j'ai un petit probleme sur une clé primaire
    je voudrais modifier un entrainement de joueur(foot), ou il y a a la date ,s'il a fait l'entrainement son niveau actuel....
    Seulement ma date et une clé primaire puique un joueur ne peut faire que un entrainement par jour

    voici mon script de creation de table



    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
     
    CREATE TABLE joueurs
    (
      jou_num serial NOT NULL,
      jou_nom varchar(20) NOT NULL,
      jou_prenom varchar(20) NOT NULL,
      jou_age int4 NOT NULL,
      jou_tsid int4 NOT NULL,
      jou_spe varchar(20),
      CONSTRAINT pk_jou_num PRIMARY KEY (jou_num))
     
     
    CREATE TABLE historique
    (
      date varchar(20),
      fkjou_num int4,
      nvotsi varchar(20),
      ouinon varchar(5),
      lvl int4,
      niveau varchar(20),
      CONSTRAINT fk_jou_num FOREIGN KEY (fkjou_num) REFERENCES joueurs (jou_num),
      CONSTRAINT pk_date_jou PRIMARY KEY (date,fkjou_num));
    Donc je voudrais modifier l'entrainement du joueur seulement la date ne veut pas se modifier j'au essayé de faire sauter la contrainte mais ca ne vas pas
    voici mon code:

    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
     
    // on désactive la contrainte puis nous relançons
    $vrequete="ALTER TABLE historique DROP CONSTRAINT pk_date_jou";
    $rslt=pg_exec( $vrequete);
     
     
     
     
    $vrequete2 = "Update historique
               set date= '$zsDate',
               ouinon= '$zsEntr',
               nvotsi= '$zsNvoTsi',
               lvl= '$zsSem',
               niveau = '$zsNiveau'
               where
               fkjou_num= '$zsNum'
               and date= '$zsDate';";
     
    $rslt2=pg_exec( $vrequete2);
     
    //on réactive la contrainte
    $vrequete3="ALTER TABLE historique ADD CONSTRAINT  pk_date_jou primary key (date,fkjou_num)";
    $rslt3=pg_exec($vrequete3);
    qu'est qui ne vas pas??
    merci (dsl si c'est un peu long)

  2. #2
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    est ce que ta dete et bien former ?

    Qu y t'il dans $zsDate?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    $zsdate il ya a la date de l'entrainement du joueur
    exemple 10/10/2005

    en faite j'ai un tableau avec une liste des entrainements que le joueur a fait quand je clique sur le lien modifier a la ligne de l'entrainement voulu
    ca renvoi $zsdate qui est la date de l'entrainement
    ca ca marche les variables sont bien remplise

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    personne peut m'aider??

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    On ne modifie pas les clefs primaires en sql !
    Le choix de ta clef n'est pas bion.

Discussions similaires

  1. modification d'une contrainte de clé primaire
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/03/2009, 13h42
  2. Réponses: 2
    Dernier message: 02/04/2008, 19h05
  3. Réponses: 29
    Dernier message: 25/11/2007, 16h08
  4. Réponses: 29
    Dernier message: 25/11/2007, 16h08
  5. [sql] comment modifier une contrainte
    Par imedg dans le forum Oracle
    Réponses: 5
    Dernier message: 11/03/2006, 06h54

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