web-dev-qa-db-fra.com

MySQL: bigint Vs int

J'ai utilisé int (10) et je viens de remarquer que Wordpress utilise bigint (20) - Qu'est-ce qui est différent d'utiliser bigint (20) et int (10) pour l'incrémentation automatique de l'ID? J'utilise pour la colonne id?

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

Contre

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

Merci.

42
laukok

La différence est purement dans la valeur maximale qui peut être stockée (18 446 744 073 709 551 615 pour le bigint (20) et 4 294 967 295 pour l'int (10), je crois), selon les détails sur MySQL Types numériques manuel page.

Soit dit en passant, l'utilisation de (20) et (10) est largement hors de propos, sauf si vous utilisez ZEROFILL. (C'est-à-dire: cela ne change pas réellement la taille du nombre stocké - tout dépend du type.)

Cependant, en termes pratiques, il convient de noter que vous ne risquez pas d'atteindre l'une de ces limites de sitôt, sauf si vous êtes un vraiment blogueur actif.

62
John Parker

La seule différence est la plage du type. INT est de 32 bits tandis que BIGINT est de 64 bits, il peut donc stocker des nombres beaucoup plus grands comme 123456789123456789 (qui ne peut pas être stocké sous la forme INT).

Voici une liste complète des types d'entiers MySQL: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

10
Crozin