Tecnología

Inicio

MySQL Entero: Vs. Firmado No firmado

MySQL Entero: Vs. Firmado No firmado


El sistema de base de datos MySQL proporciona a los desarrolladores una amplia gama de tipos de datos numéricos para elegir, incluyendo varios tipos de enteros. El rango de valores que se pueden almacenar en una base de datos usando números enteros depende de si los valores son con o sin signo. Firmados y enteros sin signo también están representados de forma ligeramente diferente en las instrucciones SQL. Cuando los desarrolladores llevar a cabo operaciones aritméticas en MySQL, los resultados pueden ser con o sin signo, dependiendo de las circunstancias.

declaraciones

Cuando los desarrolladores a crear las tablas de una base de datos MySQL, que especifican el tipo de datos para cada columna. Cuando se declara una columna con un tipo entero, un desarrollador puede optar por especificar si o no su firma. El siguiente código de ejemplo muestra una sentencia MySQL para crear una tabla con dos columnas de tipo entero en ella:

Crear una tabla de objetos (
num_data unsigned int,
other_num signed int);

El valor por defecto es para las columnas de tipo entero para ser firmados, por lo que los desarrolladores sólo tienden a indicar las columnas que quieren ser sin signo utilizando estos atributos. El uso del atributo "firmado" no tiene ningún efecto, aunque a veces los desarrolladores optan por usarlo para hacer su código claro. La primera columna de esta tabla almacena enteros sin signo, mientras que el segundo puede almacenar valores negativos y positivos.

Rango de valores

Si una columna en una tabla de MySQL utiliza valores enteros, el rango de valores posibles dependerá de si o no los números de la columna soporta firmados. Por ejemplo, el tipo TINYINT en MySQL puede contener valores sin signo entre cero y 255, pero puede contener valores entre -128 y firmado 127. Los desarrolladores, por lo tanto necesitará considerar si es o no una columna va a almacenar números con signo al elegir un tipo numérico que apoyará suficiente una amplia gama de valores para una aplicación.

Tipos enteros

Así como tener la opción de utilizar números con o sin signo, los desarrolladores pueden elegir entre diferentes tipos de número entero. Estos varían en tamaño en términos de valores admitidos, con el más pequeño tipo TINYINT bienestar y el mayor BIGINT. Entre estos, en orden ascendente son SMALLINT, MEDIUMINT e INT. El tipo elegido determina el número de bytes de MySQL se debe asignar a cada valor en una columna. Los desarrolladores también pueden optar por especificar el número de bits que desean MySQL para almacenar por valor entero.

operaciones

Cuando las aplicaciones web utilizan las bases de datos de MySQL, que puede utilizar el sistema para realizar operaciones aritméticas, así como consultar y actualizar los datos. Cuando una aplicación que utiliza cálculos, los resultados serán con o sin signo en función de los tipos de datos en las columnas afectadas. Por ejemplo, dependiendo de la configuración dentro de un sistema particular, una operación de resta puede resultar en un resultado sin signo, incluso cuando se firma uno de los operandos. Esto puede producir resultados impredecibles en algunos casos.