Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/04/2012, 14:14
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problema con Procedimiento Almacenado

Hola tatipoveda25:

Mucho ojo, estás confundiendo la Longitud de un entero con los rangos de valores que puede almacenar... checa esta liga:

http://dev.mysql.com/doc/refman/5.0/...ric-types.html

ahí encontrarás lo siguiente:

Cita:
MySQL soporta otra extensión para especificar de forma óptima el ancho a mostrar de un tipo entero en paréntesis después de la palabra clave para el tipo (por ejemplo, INT(4)). Esta especificación opcional del ancho de muestra se usa para alinear a la izquierda la muestra de los valores con ancho menor que el ancho especificado para la columna.

El ancho de muestra no restringe el rango de valores que pueden almacenarse en la columna, no el número de dígitos que se muestran para valores con ancho que exceda el especificado para la columna.

Cuando se usa en conjunción con el atributo de extensión opcional ZEROFILL, el relleno por defecto de espacios se replaza por ceros. Por ejmplo, para una columna declarada como INT(5) ZEROFILL, un valor de 4 se muestra como 00004. Tenga en cuenta que si almacena valores mayores que el ancho de muestra en una columna entera, puede tener problemas cuando MySQL genera tablas temporales para algunos joins complicados, ya que en estos casos MySQL cree que los datos encajan en el ancho original de la columna.
Si vas a manejar números enteros grandes NO PONES INT(255), sino que utilizas el tipo de datos BIGINT (en la misma liga encuentras los rangos que soportan cada tipo de datos enteros). Si el rango no es suficiente ENTONCES DEBERÁS UTILIZAR CAMPOS CON PUNTO FLOTANTE.

saludos
Leo.