Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/02/2013, 06:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con indice unico en mysql

Cita:
Se puede hacer sin reestructurar la base de datos y eliminar el autoincremental
Perfectamente posible, aunque tienes que tener en cuenta que deberás reemplazar todo uso de ese ID como FK en las tablas donde se use como tal.
Cita:
Puedo hacer esos dos campos unicos, sin quitar la clave primaria del autoincremental. ¿Como se haría?
También, aunque en ese caso estarías creando una clave candidata, con lo que uno se termina preguntando para qué tienes la otra...

Es algo redundante tener dos claves posibles, aunque no es necesariamente ilógico (habría que ver el sistema en general).

Lo que si te puedo decir, es que si tienes un username, sea como sea que lo llames, y un username es único por usuario, la PK como AI es total y absolutamente innecesaria.
En tu caso no me queda claro si id_user es el username y login es el password, o qué es cada una de esas columnas, por lo que sí te puedo decir es que es un error diseñar un índice UNIQUE donde juntes username y password (si eso estás pensando), por cuanto en ese caso un mismo usuario podría tener más de una clave (N claves) y eso es un error grave de seguridad y diseño.

Personalmente soy enemigo de usar IDs autoincrementales, porque a la larga terminan dando más problemas que las "soluciones" que pueden representar.
Respecto a la creación de un indice UNIQUE, simplemente puedes recurrir al manual de referencia: CREATE INDEX

¿Podrías explicar un poco mejor el uso de los campos que mencionas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)