Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/12/2010, 05:35
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, 4 meses
Puntos: 2658
Respuesta: Diferencias entre int y tinyint

Es absolutamente irrelevante.

Vamos a ver si se entiende bien: Ese numero se utiliza cuando en una consulta hecha en consola debe representarse el valor. El sistema debe, en ese caso y como es un número (los cuales, recordarás, se escriben de derecha a izquierda y no como un texto), el sistema necesita saber cuántos espacios le deja a la izquierda antes de empezar a representar el número en cuestión.
Por default, a un valor entero se le indica un número equivalente a la longitud total de la máxima cifra más uno; este último espacio es para el signo "-" en caso de necesitarse.
Asi pues, si el numero es un INT(11), pero la cifra es 123456, quedan cinco espacios que deben agregarse a la izquierda, antes de representarlo:
Código MySQL:
Ver original
  1. -----------
  2. |12345678901|
  3. -----------
  4. |     123456|
  5. -----------
En el caso de un valor numérico negativo, digamos -1234567, no se requieren 4 espacios sino 3, ya que el "-" usa uno de ellos:


Código MySQL:
Ver original
  1. -----------
  2. |12345678901|
  3. -----------
  4. |   -1234567|
  5. -----------

¿Qué pasa si la cifra es más larga que el valor del INT(x)? Pues nada, simplemente se representa la cifra:
Supongamos un INT(4)
Código MySQL:
Ver original
  1. -----------
  2. |  1234|
  3. -----------
  4. |123456|
  5. -----------
O sea, nada. EL numero se representa completo y lo que empieza a sumar espacios es el título del encabezado, para que la columna quede bien dibujada. Pero no afecta en nada más.

¿Queda suficientemente claro?

Esto sólo afecta el modo consola, y no las interfases gráficas, que manejan la representación por sí mismas, por lo que si estás programando algo en PHP, .Net, Java o lo que sea, simplemente ignora ese detalle.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)