web-dev-qa-db-fra.com

Que signifie «unsigned» dans MySQL et quand l’utiliser?

Que signifie "unsigned" dans MySQL et quand dois-je l’utiliser?

259
HELP

MySQL dit:

Tous les types entiers peuvent avoir un attribut optionnel (non standard) UNSIGNED. Le type non signé peut être utilisé pour autoriser uniquement les nombres non négatifs dans une colonne ou lorsque vous avez besoin d'une plage numérique supérieure plus grande pour la colonne. Par exemple, si une colonne INT a la valeur UNSIGNED, la taille de la plage de la colonne est la même, mais ses extrémités passent de -2147483648 à 2147483647 à 0 et 4294967295.

Quand est-ce que je l'utilise?

Posez-vous cette question: Ce champ contiendra-t-il jamais une valeur négative ?
Si la réponse est non, vous souhaitez un type de données UNSIGNED.

Une erreur courante consiste à utiliser une clé primaire auto-incrémentée INT à partir de zéro , mais le type est SIGNED, dans ce cas vous ne touchez jamais aucun des nombres négatifs et vous réduisez de moitié la gamme d'identifiants possibles.

490
codaddict