我什么时候应该在MySQL中使用UNSIGNED和SIGNED INT?
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
和
id INT(11) NOT NULL AUTO_INCREMENT
我什么时候应该在MySQL中使用UNSIGNED和SIGNED INT?
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT
和
id INT(11) NOT NULL AUTO_INCREMENT
UNSIGNED
只存储正数(或零).另一方面,签名可以存储负数(即,可能有负数sign).
以下是每INTEGER
种类型可以存储的值范围表:
Source: http://dev.mysql.com/doc/refman/5.6/en/integer-types.html
UNSIGNED
的范围从0
到102,而有符号的范围从-n/2
到n/2
.
在本例中,您有一个AUTO_INCREMENT
ID的列,因此不会有负数.因此,使用UNSIGNED
.如果不将UNSIGNED
用于AUTO_INCREMENT
列,则最大可能值将是AUTO_INCREMENT
列的一半(值范围的负一半将不使用).