Tipo de datos sin firmar
Cada tipo de entero de datos extendidos se puede dividir en tipos con y sin signo (flotante y doble siempre tienen signo). En tipos de datos distintos de char, las variables enteras declaradas de forma predeterminada son tipos con signo, Char siempre está sin signo; En tipos de datos distintos de char, si necesita declarar un tipo sin firmar, debe preceder al tipo sin firmar. La diferencia entre las versiones firmada y sin firmar es que la versión sin firmar puede almacenar el doble de datos enteros positivos que la versión firmada. Por ejemplo, en un sistema de 16 bits, short puede almacenar datos en el rango de -32768 ~ 32767 y sin firmar puede almacenar datos en el rango de 0 ~ 65535. Porque en las computadoras, los números enteros se almacenan en forma de complemento a dos. Dependiendo del orden más alto, si es 1, los números con signo se interpretan como negativos; si no tiene signo, se interpretan como números positivos. Además, si se omite la última palabra clave sin firmar, la mayoría de los compiladores pensarán que es unsigned int
El significado en la declaración SQL
Declaración SQL al crear una tabla de datos.
Crear tabla usuario {user_id int unsigned}
Sin firmar significa que el elemento de datos user_id es siempre un entero positivo.
Por ejemplo, si el tinyint máximo es 127, entonces el tinyintunsigned máximo puede alcanzar 127 * 2.
El atributo sin signo es solo para números enteros y el atributo binario es solo para char y varchar.