02/10/2014, 06:30
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: Error #1064 en Consulta SQL de DB Es un problema del tipo de caracteres, muy probablemente, porque la longitud mmáxima de clave no peude, en tablas MyISAM, superar los 1000 bytes. Pero si usas un charset por default que es multibyte, por ejemplo, los 450 caracteres totales máximos de tu clave peuden terminar siendo mucho más de 1000.
En realidad la mejor solución es simple, porque estás poniendo valores demasiado grandes para efectos prácticos...
¿Conoces a alguien que registro un username de 100 caracteres?
Yo no.
En cuanto a la password, nadie en su sano juicio usa una clave de mas de 20 caracteres, simplemente porque se la va a olvidar. Y podría asegurar que alguna vez te ha pasado.. ¿o no?
Bueno, un username no necesita tener 255 caracteres. para la mayoría de los casos con 50 o menos alcanza, y sólo se usan más si el username es un e-Mail.
En cuanto a la clave, lo mejor es usar la maxima longitud de una clave encriptada, que no va a llegar mucho más alla de 128 caracteres.
Definir los tipos de columna adecuados para los datos no es algo que haces al tun-tun. Debes analizar lo que requiere tu sistema; y no poner longitudes por exceso.
Por cierto: recuerda que poner el valor entre parentesis en los numeros no restringe los rangos de valor. Me refiero a que poner SMALLINT(5) UNSIGNED no hará que el valor máximo sea 99999. Seguirá siendo 65535...
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |