clé primaire avec plusieurs champs

clé primaire avec plusieurs champs - SQL/NoSQL - Programmation

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.

Reply

Marsh Posté le 09-03-2006 à 11:46:07   

Reply

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;
       

Reply

Marsh Posté le 09-03-2006 à 15:09:26    

merci

Reply

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!

Reply

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.

Reply

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

Reply

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.


---------------
MZP est de retour
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed