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
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
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));
voici mon code:
qu'est qui ne vas pas??
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);
merci (dsl si c'est un peu long)
Partager