Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/12/2014, 08:43
daicon
 
Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿Se puede hacer esta consulta? Clave primaria PAR

Cita:
Iniciado por gnzsoloyo Ver Mensaje
La clave primaria debe ser compuesta, eso hará que el par no se repita nunca.
Código MySQL:
Ver original
  1. CREATE TABLE usuario_articulo(
  2. usuario_id INT UNSIGNED NOT NULL,
  3. articulo_id INT UNSIGNED NOT NULL,
  4. ...
  5. PRIMARY KEY(usuario_id, articulo_id))
Es imposible en ese contexto que se repita un par (usuario_id, articulo_id).

Postea el create table de la tabla tal y como lo tienes ahora y veamos donde etá el error.
Mmmm, ahora mismo lo tengo asi para que me funcione.

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `j25_push_comentarios_grupos` (
  2.   `user_id` int(11) NOT NULL DEFAULT '0',
  3.   `user_id_nacional` int(11) NOT NULL,
  4.   `type` varchar(255) NOT NULL DEFAULT '',
  5.   `item` varchar(255) NOT NULL DEFAULT '',
  6.   `params` text,
  7.   PRIMARY KEY (`id`),
  8.   KEY `user_id` (`user_id`),
  9.   KEY `type` (`type`),
  10.   KEY `item` (`item`)
  11. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3144 ;

Pero no recuerdo haber probado como lo has puesto tu.... lo hice de otra forma.
Exactamente como lo hago?

Quito PRIMARY KEY (`id`),
y lo sustituyo por:
PRIMARY KEY(`user_id`, `item`) ??