Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/02/2017, 10:22
Avatar de KATHYU
KATHYU
 
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 11 años, 5 meses
Puntos: 46
Respuesta: Varios campos unicos en una tabla MyISAM

Bueno hice lo que se supone se debe hacer

Código SQL:
Ver original
  1. ALTER TABLE `empleado`
  2. DROP PRIMARY KEY,
  3. ADD PRIMARY KEY (`id`, `expediente`, `codigo`, `dui`, `nit`);

La cuestión es que hoy ni el ID, ni nada es PK, acepta valores repetidos en todos los campos pero si vuelvo a poner solo el ID como PK entonces si, solo me permite un valor único, o con cualquier campo que ponga como PK

Fui de guatemala a guatepeor

Alguna idea estimados.

[EDIT]
He estado haciendo pruebas y ya vi cual es el problema, la cosa es que como es una PK compuesta, la validacion se hace si y solo si todos los campos que comprenden la PK son iguales, ejem.
Código:
id     exp     nit
01     123     123 // Este es el primer registro
02     123     123 // Este registro se inserta aunque lleven el mismo NIT y EXP
01     123     123 // Este registro no se inserta por ser todos los campos idénticos al primer registro
Asi es como funciona, pero en mi caso no me ayuda, ya que mi id, expediente, nit, dui, codigo, no se deben repetir nunca

Alguna otra forma a parte de por cada elemento hacer in select a la base y si no hay uno igual seguir con el otro y asi los 5 hasta que en el ultimo pueda hacer el insert total de todos los campos ?? (solo aclarando, se puede hacer un select de esos 5 campos y si no hay resultado continuar de lo contrario enviar alert) para que no me lo saquen
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Última edición por KATHYU; 08/02/2017 a las 11:00