Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/12/2007, 10h21   #1
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 72
Points : 36
Points : 36
Par défaut Création de table avec plusieurs clés primaires

Bonjour,
le titre du post résume assez bien mon problème

Je souhaite créer une table avec 3 clés primaires donc mon script est le suivant :

CREATE TABLE AFFECT_RESS_PROJ (
id_ress integer PRIMARY KEY,
id_proj integer PRIMARY KEY,
date_cra date PRIMARY KEY,
temps_cra double (2,2));


quand j'execute j'ai le message :
ERROR 1068 (42000): Multiple primary key defined

Malheureusement je suis obligé de créer une table avec plusieurs clé primaire. Quelqu'un aurait-il une solution svp ?
Merci
jeanjean0403 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 12h17   #2
Expert Confirmé
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Citation:
je suis obligé de créer une table avec plusieurs clé primaire
Ah ouais ?

Je ne vois que 2 possibilités
- soit il y a un énorme problème de modélisation
- soit tu as un problème de compréhension vis à vis des SGBD relationnels

De toute façon, une table avec plusieurs clés primaires, ça n'existe pas. C'est comme vouloir une voiture avec 1 volant par passager.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 12h26   #3
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 72
Points : 36
Points : 36
Ok je vois.
Biensur que ce n'est pas une "Obligation" je pourrais prendre un id numérique qui ne veut rien dire et l'auto incrémenté. Je connais la modelisation mais les id qui ne veulent rien dire c'est lourd. Ca ce n'est que mon avis.

Je voudrais juste savoir si, avec Mysql 5, il est possible d'avoir une table avec plusieurs clés primaires, tout comme il est possible de le faire avec Oracle ou SqlServer.

Quand tu me dis qu'une table avec plusieurs clés primaires ca n'existe pas, c'est la réponse à ma question ? Ou j'aurais du formuler ma question en disant "une table avec plusieurs champs pour clé primaire" ?

Merci
jeanjean0403 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 12h30   #4
Membre du Club
 
Avatar de medtun.net
 
Inscription : avril 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 57
Points : 48
Points : 48
Envoyer un message via MSN à medtun.net Envoyer un message via Skype™ à medtun.net
Je pense qu'il veut dire une clé primaire composé de 3 champs
medtun.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 13h50   #5
Expert Confirmé
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Citation:
Envoyé par medtun.net Voir le message
Je pense qu'il veut dire une clé primaire composé de 3 champs
Alors c'est ce qu'il fallait mentionner...

Exemple d'une table de relations:
Code :
1
2
3
4
5
6
CREATE TABLE Inclusion (
	id_source_inclus Varchar(20) NOT NULL,
	NVI_source_inclus Smallint NOT NULL,
	id_programme Varchar(20) NOT NULL,
	NVI_programme Smallint NOT NULL,
 PRIMARY KEY (id_source_inclus,NVI_source_inclus,id_programme,NVI_programme))
4 colonnes dans la PK
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 15h10   #6
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 72
Points : 36
Points : 36
Merci. C'est bien ce que je cherchais, juste une mauvaise formulation du problème
jeanjean0403 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h01.


 
 
 
 
Partenaires

Hébergement Web