clé primaire avec plusieurs champs - SQL/NoSQL - Programmation
Marsh Posté le 09-03-2006 à 12:11:16
Oui c'est possible
Il suffit de spécifier plusieurs champs pour Primary Key :
CREATE TABLE `bp_par_service` (
`NO_BP` int(7) NOT NULL default '0',
`NO_SERVICE` int(3) NOT NULL default '0',
`DEBUT` date default NULL,
`FIN` date default NULL,
`ETAT` smallint(1) default NULL,
`NB_COLIS` int(11) default NULL,
PRIMARY KEY (`NO_BP`,`NO_SERVICE`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Marsh Posté le 10-03-2006 à 09:27:12
c'est pour avoir deux champs qui s'incrémentent? c pour faire quoi? ça m'interresse!
Marsh Posté le 10-03-2006 à 11:15:19
non, au fait j'utilise deux clés priméaires, Id et Indice, et je voulais avoir deux enregistrements avec le méme Id et des indices différents, et j'arrivais pas à le faire.
Marsh Posté le 10-03-2006 à 16:36:40
On ne peut avoir qu'une seule clé primaire par table... Mais elle peut être composé de plusieurs champs.
Si tes "couples" ID / Indice sont uniques alors ta clé primaire est composée de ces deux champs. Si ce n'est pas le cas, il te faut une autre PK
Marsh Posté le 11-03-2006 à 10:34:55
Exactement, il peut y avoir une cle primaire, et plusieurs clés secondaires. Les clés secondaires peuvent etre unique et fonctionner de maniere equivalente à une clé primaire.
Un clé peut etre composée de un à plusieurs champs.
Marsh Posté le 09-03-2006 à 11:46:07
Bonjour,
je suis en train de travailler sur base de données avec mysql, je voudrais avoir une clé primaire composée de deux champs, est ce possible??
y aurait il une alternative??
merci pour votre aide.