1. ホーム
  2. mysql

[解決済み] MySQLでUNSIGNEDとSIGNED INTはいつ使うべきですか?

2022-08-16 08:18:50

質問

MySQL で UNSIGNED と SIGNED INT はどのような場合に使用するのですか? それとも個人的な好みなのでしょうか? 私はこのように使用されているのを見たことがあるからです。

id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT

id INT(11) NOT NULL AUTO_INCREMENT

どのように解決するのですか?

UNSIGNED は正の数(またはゼロ)しか格納できません。一方、符号付きは負の数を格納することができます(つまり、負の 記号 ).

以下は、それぞれの値の範囲を表にしたものです。 INTEGER 型が格納できる値の範囲の表です。




出典 http://dev.mysql.com/doc/refman/5.6/en/integer-types.html

UNSIGNED から 0 から n であるのに対し、署名入りは約 -n/2 から n/2 .

この場合 AUTO_INCREMENT IDカラムがあるので、ネガはないでしょう。したがって UNSIGNED . もし UNSIGNED を使用しない場合は AUTO_INCREMENT カラムを使用する場合、可能な最大値は半分になります (そして、値域の負の半分が使用されなくなります)。