elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Longitud de Tipos de Datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Longitud de Tipos de Datos  (Leído 8,479 veces)
Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Longitud de Tipos de Datos
« en: 14 Marzo 2010, 04:35 »

Hola gente.
Les comento que tengo una tabla en MySQL con un Tinyint(1)
Y hoy ingreso el valor: 10, y se ingresó correctamente!!.. Pero.. no se devería haber cortado a 1????


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #1 en: 14 Marzo 2010, 08:23 »

es la cantidad de bytes... valores de -128 a 127 si tiene signo... 255 so no tiene :P (1 byte)


En línea

Ojo por ojo, y el mundo acabará ciego.
Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #2 en: 14 Marzo 2010, 16:16 »

Si, eso es lo que ocupa cada tipo de dato.. Lo veo desde aqui: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

O sea que si le pongo longitud 1, en UNSIGNED, podre ingresar numeros del 0 al 255? y cuando ponga 256 que pasará?
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Longitud de Tipos de Datos
« Respuesta #3 en: 14 Marzo 2010, 16:19 »

Se resetea al valor maximo soportado por el tipo de datos tinyint  ;)  si es negativo 127  si es positivo 255  de ahi no pasara.
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #4 en: 14 Marzo 2010, 17:43 »

O sea que si tengo un campo ID, con solo 214 entradas, y jamas habrán mas entradas en esa tabla (porque es una tabla de PAISES), lo que me conviene, es poner un Tinyint(1.)UNSIGNED... ya que los ID de los paises van desde el 1 al 214.....
Eso es así?

y entonces
Tinyint(2)UNSIGNED soporta 255*255 como numero maximo?
Si tengo una tabla con un ID que va del 1 al 65000, me conviene utilizar con (2), porque acepta numeros de 0 a 65025...

Repito:
No puedo conseguir en ningun lado el libro: La Biblia de Mysql... Argentina no tiene ni libros
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Longitud de Tipos de Datos
« Respuesta #5 en: 14 Marzo 2010, 18:58 »

Que declares un campo como tinyint(2) no quiere decir que soporte una cantidad maxima de valores doble veces (nada de 255*255) seguira soportando lo mismo de siempre de 0 a 255 positivo y de 0 a 127 negativos.

Esto que haces de tinyint(valor) valor significa la cantidad de numeros o caracteres si fuese un tipo de dato alfanumerico a mostrar por pantalla, no la cantidad de datos a guardar dentro de si. Los tipos de datos numericos (tinyint, int, smallint, bigint, etc) tienen un tamanio fijo establecido dentro de si mismo, no lo filtras tu ni le indicas tu el tamano de valores a guardar como harias en un dato alfanumerico como (varchar, char, varbinary, etc). No funcionan iguales los tipos de datos....

Si quieres un campo que soporte 65,000 valores y son numericos enteros pues, puedes optar por SMALLINT que soporte de 0 a 60,000 valores unsigned, si lo quieres mayor tendras que optar por MEDIUMINT que soporta de 0 a 160,000 valores unsigned.

Un saludito  ;)
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #6 en: 14 Marzo 2010, 19:50 »

Esto que haces de tinyint(valor) valor significa la cantidad de numeros

Entonces un tinyint(1) solo dejará ingresar los siguientes numeros?:
-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ???
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Longitud de Tipos de Datos
« Respuesta #7 en: 14 Marzo 2010, 20:40 »

No hice referencia a cuantos te deja ingresar... porque si el tipo de datos soporta 255 aunque pongas tinyint(1) podras insertar cualquier valor hasta 255 y se guardara, decia que si pones tinyint(1) aunque se guarde 123 se mostrara por pantalla en un programa el valor 1 es mas para filtrar la salida de datos como se mostraran que la entrada de datos y su capacidad.
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #8 en: 14 Marzo 2010, 21:11 »

AHh!! Entendido... Digamos que solo se utiliza para filtrar los datos que devuelve el SELECT... pero e guarda el dato entero que ha entrado...
Me quedó claro

y si en un tinyint ingreso el numero '300', se guarda '255'? o '0'?
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Longitud de Tipos de Datos
« Respuesta #9 en: 14 Marzo 2010, 21:18 »

Repito:
No puedo conseguir en ningun lado el libro: La Biblia de Mysql... Argentina no tiene ni libros

para que queres un libro? veo que es costumbre de muchos comprar un libro de java, mysql, php, etc... cuando compre uno de c++ me arrepenti porque en el encontre todo lo que podia encontrar en la documentacion oficial :P que siempre es el primer lugar donde busco xD

el valor en tinyint(valor) no filtra caracteres a ingresar porque no es un tipo de dato de cadena :P

si tu tabla es de paises te conviene tinyint pero no es necesario pasarle un valor como si fuese char o varchar que estos si guardan un max en la long de caracteres :P
En línea

Ojo por ojo, y el mundo acabará ciego.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creo que ahora si me salio el array de longitud variable sin perder datos
Programación C/C++
Y2J 2 1,720 Último mensaje 25 Agosto 2011, 02:53
por Y2J
Convertir tipos de datos a DWORD Y WCHAR
Programación C/C++
el_doctor 3 1,093 Último mensaje 12 Septiembre 2013, 21:56
por Eternal Idol
Diferencia de Tipos de datos.
Programación C/C++
FKT 5 1,076 Último mensaje 5 Septiembre 2015, 19:48
por FKT
No coinciden los tipos de datos en la expresión de criterios.
.NET (C#, VB.NET, ASP)
Guillito 1 960 Último mensaje 24 Septiembre 2015, 18:19
por d91
Tipos Abstractos de Datos
Programación C/C++
shadownando 1 449 Último mensaje 4 Marzo 2017, 14:01
por ivancea96
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines