MySQL 各种 INTEGER 类型占用存储空间、取值范围一览表
最佳实践
- UNSIGNED 只能存储非负整数
- SIGNED 可以存储正整数、0、负整数
- 对于总是正整数的存储(比如主键)的最佳实践是 UNSIGNED,因为这时它占用和 SIGNED 一样的存储空间,但取值范围多出一倍
- BOOL、BOOLEAN 只不过是 TINYINT(1) 的另外一种写法而已
- TINYINT(1)、BOOL、BOOLEAN 所占用的存储空间和 TINYINT 一样,都是一个字节,而不是一位
- TINYINT(1) 所能存储的值的范围和 TINYINT 一样,都是 -128 到 127
- TINYINT(1) 只是在显示的时候作为一个位进行输出而已
参考资料
- http://dev.mysql.com/doc/refman/5.6/en/integer-types.html
- http://stackoverflow.com/questions/4401673/mysql-boolean-tinyint1-holds-values-up-to-127