MySQL - Clave secundaria con mas de un campo

 
Vista:

Clave secundaria con mas de un campo

Publicado por tomas (1 intervención) el 06/05/2009 16:31:21
Hola.
Tengo una tabla definida como sigue:

create table usuariosActividad (
idActividad integer unsigned not null,
idUsuario integer unsigned not null,
rolEjercido integer unsigned,
cuota decimal (8,2),
pago boolean default 0,
autorizacion boolean default 0,
acudio boolean default 0,
primary key(idActividad, idUsuario),
foreign key (idActividad) references actividades(idActividad),
foreign key (idUsuario) references usuarios(idUsuario)
) type=InnoDB;

Por necesidades que no vienen al caso, voy a añadir un campo autonumerico como clave primaria. Algo asi como:

create table usuariosActividad (
nuevaClavePrimaria unsigned integer not null autoincrement,
idActividad integer unsigned not null,
idUsuario integer unsigned not null,
rolEjercido integer unsigned,
cuota decimal (8,2),
pago boolean default 0,
autorizacion boolean default 0,
acudio boolean default 0,
primary key(nuevaClavePrimaria),
¿¿¿¿¿¿¿¿¿???????
foreign key (idActividad) references actividades(idActividad),
foreign key (idUsuario) references usuarios(idUsuario)
) type=InnoDB;

El problema: quiero seguir forzando de no se que manera la existencia de una segunda clave compuesta por los 2 campos que actualmente son la clave primaria, es decir no se admitan do2 registros con los campos idActividad e idUsuario con el mismo valor. Como se especifica esto que quiero hacer al crear la tabla

¿Que pongo en ¿¿¿¿¿¿???????

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Clave secundaria con mas de un campo

Publicado por Gonzalo GC (339 intervenciones) el 06/05/2009 16:39:40
creando un indice UNIQUE sobre esos dos campos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar