¿Qué significa "sin firmar" en MySQL y cuándo usarlo?
¿Qué significa "sin firmar" en MySQL y cuándo debo usarlo?
MySQL dice:
Todos los tipos de enteros pueden tener un atributo opcional (no estándar) SIN FIRMAR. El tipo sin signo se puede utilizar para permitir solo números no negativos en una columna o cuando necesite un rango numérico superior mayor para la columna. Por ejemplo, si una columna INT no está firmada, el tamaño del rango de la columna es el mismo pero sus puntos finales cambian de -2147483648 y 2147483647 a 0 y 4294967295.
¿Cuándo lo uso?
Hágase esta pregunta: ¿ Este campo alguna vez contendrá un valor negativo ?
Si la respuesta es no, entonces desea un UNSIGNED
tipo de datos.
Un error común es usar una clave principal que es un incremento automático INT
que comienza en cero , pero el tipo es SIGNED
, en ese caso nunca tocará ninguno de los números negativos y estará reduciendo el rango de posibles identificaciones a la mitad.
¿Qué significa "sin firmar" en MySQL?
En la creación de esquemas (diseño de bases de datos), un unsigned
número entero es un número entero que solo puede contener un valor positivo (no negativo).
En el contexto de MySQL, el unsigned
método utilizado para especificar esa columna sólo debe contener un valor positivo.
¿Cuándo debo usarlo?
Es una buena práctica en la creación de esquemas asignar las columnas que contienen una clave externa (como identificación) al unsigned
método para asegurarse de que esa columna solo contenga valores positivos y evitar errores y comportamientos inesperados en las consultas que usan esa columna.