Mysql Bigint Number rangos

Mysql Bigint Number rangos
Este artículo se centra en el tipo de datos MySQL Bigint y analiza cómo podemos usarlo para almacenar valores enteros. También aprenderemos su rango, tamaño de almacenamiento y varios atributos, incluidos el relleno firmado, sin firmar y cero.

Mysql bigint

El bigint es un byte b o un valor entero de 64 bits y es muy útil para almacenar enormes valores enteros.

El Bigint MySQL, como cualquier otro tipo de datos de Integer MySQL, se puede firmar o no firmar. Un tipo de datos firmados indica que la columna puede almacenar valores enteros positivos y negativos. Este es el tipo predeterminado para la mayoría de los tipos enteros en MySQL. Por lo tanto, a menos que se especifique explícitamente, cualquier columna de tipo entero puede almacenar enteros positivos y negativos.

Por otro lado, el tipo de datos sin firmar indica que la columna solo puede almacenar valores enteros positivos.

El rango para el tipo de bigint mySQL firmado es entre -923372036854775808 y 92233722036854775807

Para un tipo de bigint sin firmar, el valor varía de 0 a 18446744073709551615.

El otro atributo del tipo bigint es el zerofill. Con este atributo especificado en una columna, la columna se establece automáticamente en unsigned.

El atributo Zerofill también llena los espacios con ceros.

Ejemplos

Veamos algunos ejemplos para ilustrar cómo usar el tipo de bigint.

Crear base de datos si no existe enteros;
Usar enteros;

A continuación, creemos una tabla y llenemos con varias columnas Bigint, como se muestra en la consulta a continuación:

Cree ejemplos de tabla (x bigint no nulo llave primaria de auto_incement, y bigint sin firmar, z bigint zerofill);

Ejemplo 1
Primero intentemos agregar todos los valores positivos a la tabla:

Insertar en valores de ejemplos (x, y, z) (1,2,3);

En la consulta de ejemplo anterior, los valores son aceptables porque están en el rango de tipos firmados, sin firmar y zerofill bigint.

Seleccionar * de ejemplos;
+---+------+----------------------+
| x | y | z |
+---+------+----------------------+
| 1 | 2 | 0000000000000000000003 |
+---+------+----------------------+
1 fila en colocar (0.01 seg)

Ejemplo 2
En el siguiente caso, intentemos agregar todos los valores negativos. Una consulta de ejemplo está a continuación:

Insertar en valores de ejemplos (x, y, z) (-1, -2, -3);
Error 1264 (22003): valor fuera de rango para la columna 'y' en la fila 1

En este caso, la consulta falla ya que la columna y no está firmada. Por lo tanto, asignar un valor negativo a la columna está fuera del rango de columna.

Ejemplo 3
Podemos observar un caso similar al anterior para la tercera columna. El atributo Zerofill automáticamente hace que la columna no se firme, haciendo que agregar un valor negativo esté fuera de rango. Un ejemplo es como:

Insertar en valores de ejemplos (x, y, z) (-1,2, -3);
Error 1264 (22003): valor fuera de rango para la columna 'z' en la fila 1

Ejemplo 4
Intentemos ahora agregar los valores máximos para cada tipo. Una consulta de ejemplo es:

Insertar en valores de ejemplos (x, y, z) (-9223372036854775808, 92233372036854775808, 9223372036854775808);

En el ejemplo anterior, dado que todos los valores están en el rango, la consulta se ejecuta con éxito.

Considere la consulta a continuación:

Insertar en valores de ejemplos (x, y, z) (9223372036854775807, 92233372036854775808, 9223372036854775808);

Notarás que todos los valores están en los valores máximos. Dado que la columna X está configurada en auto_increment, agregarle un valor fallará.

Insertar en valores de ejemplos (y, z) (9223372036854775808, 92233372036854775808);
Error 1062 (23000): entrada duplicada '9223372036854775807' para clave 'ejemplos.PRIMARIO'

Sin embargo, si el modo estricto está deshabilitado en MySQL, puede insertar valores fuera de rango.

Seleccionar * de ejemplos;

Conclusión

En este tutorial, discutimos el tipo de binint mysql y los rangos para sus diversos atributos.