MySQL で UNSIGNED と SIGNED INT はいつ使用すればよいのでしょうか? どちらを使用するのが良いのでしょうか、それともこれは単なる個人的な好みでしょうか? 次のように使用されているのを見たことがあるからです。
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
そして
id INT(11) NOT NULL AUTO_INCREMENT
ベストアンサー1
UNSIGNED
正の数(またはゼロ)のみを格納します。一方、signedは負の数(つまり、負の数を持つ可能性がある)を格納できます。サイン)。
INTEGER
各タイプが保存できる値の範囲の表を以下に示します。
ソース:整数型
UNSIGNED
0
からの範囲n
一方、 signed の範囲は約 ~-n/2
ですn/2
。
この場合、AUTO_INCREMENT
ID 列があるため、負の値は含まれません。したがって、 を使用します。 列に をUNSIGNED
使用しない場合、最大値は半分になります (値の範囲の負の半分は使用されません)。UNSIGNED
AUTO_INCREMENT