Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

autoincremento en varchar

Estas en el tema de autoincremento en varchar en el foro de Mysql en Foros del Web. Hola, quiero crear una tabla en una base de datos, donde uno de los campos sea un varchar, pero con valores numericos(para poder tener mas ...
  #1 (permalink)  
Antiguo 22/04/2011, 14:47
 
Fecha de Ingreso: marzo-2011
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 4
autoincremento en varchar

Hola, quiero crear una tabla en una base de datos, donde uno de los campos sea un varchar, pero con valores numericos(para poder tener mas capacidad), el problema es que no se si se puede crear este autoincremento, gracias.
  #2 (permalink)  
Antiguo 22/04/2011, 15:15
Avatar de 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: autoincremento en varchar

Cita:
Hola, quiero crear una tabla en una base de datos, donde uno de los campos sea un varchar, pero con valores numericos(para poder tener mas capacidad), el problema es que no se si se puede crear este autoincremento, gracias.
Lo que dices no tiene sentido, o por lo menos se nota que no estás pensándolo bien.
¿Vas a tener en esa tabla más de 18.446.744.073.709.551.615 registros? Si: casi dieciocho trillones y medio de registros, por que eso es lo que puede almacenarse con un BIGINT, el cual sólo usa 8 Bytes...

Te lo explico: los números no se almacenan como cifras sino como números binarios, y eso ocupa muchísimo menos espacio que un VARCHAR.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/04/2011, 15:17
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 1
Respuesta: autoincremento en varchar

No entiendo porque quieres usar un VARCHAR para meter datos númericos. Para eso ya están las INT y le pones una longitud grande por ejemplo haces una INT(28) y puedes tener hasta un número de 28 digitos es decir del 0 al 99999999999999999999999999999. Yo creo que eso es difícil que los superes. O si quieres más ponle más longitud
  #4 (permalink)  
Antiguo 22/04/2011, 15:29
Avatar de 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: autoincremento en varchar

Cita:
Iniciado por davidcrma Ver Mensaje
No entiendo porque quieres usar un VARCHAR para meter datos númericos. Para eso ya están las INT y le pones una longitud grande por ejemplo haces una INT(28) y puedes tener hasta un número de 28 digitos es decir del 0 al 99999999999999999999999999999. Yo creo que eso es difícil que los superes. O si quieres más ponle más longitud
No, mi estimado davidcrma, ese valor no se usa para definir la cantidad de dígitos, sino para justificar las cifras en el modo consola, el rango de valores posibles está determinado por el tipo de columna.
Mira el manual de referencia:
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, sino 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 remplaza por ceros. Por ejemplo, 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.
Este tema se ha tratado repetidamente en el foro y causa esta confusión a causa de que en los VARCHAR esta cifra sí determina la cantidad de caracteres, pero su significado en los numéricos es diferente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 22/04/2011, 15:39
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 1
Respuesta: autoincremento en varchar

Muchas gracias, gnzsoloyo no tenía ni idea.

Etiquetas: varchar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:11.