2010-10-09 24 views

Respuesta

389

MySQL dice:

Todos los tipos enteros pueden tener un opcional (no estándar) atribuyen sin signo. tipo sin signo se puede utilizar para permisos sólo números no negativos en una columna o cuando se necesita un rango numérico mayor para la columna. Para ejemplo, si una columna INT no tiene signo, el tamaño del rango de la columna es el mismo, pero sus extremos pasar de -2147483648 y 2147483647 hasta 0 y 4294967295.

¿Cuándo lo uso ?

Hazte esta pregunta: ¿Este campo alguna vez contendrá un valor negativo?
Si la respuesta es no, entonces quiere un tipo de datos UNSIGNED.

Un error común es utilizar una clave principal que es un incremento automático INT a partir de cero , sin embargo, el tipo es SIGNED, en ese caso nunca de tocar cualquiera de los números negativos y se reduce la rango de posibles identificaciones a la mitad.

+5

valores que representan los "tamaños" de las cosas, como la cantidad de un artículo en particular en un pedido, o la distancia entre dos ubicaciones, generalmente no tendrán – SingleNegationElimination

+13

Gran respuesta, parece extraño que mysql no prefiera enteros a unsigned cuando son identidades autoincrementadas? – wired00

+1

Si quiere una respuesta más clara, mire este https://stackoverflow.com/a/11515613/6335029 – NaveenDA

Cuestiones relacionadas