关于不同字段的存储需求,我对MySQL Documentation有点困惑。我目前正在重新设计一个数据库,我看到了TINYINT(4)作为它们的数据类型。以前我从来没有考虑过这一点,但这是需要一个字节并只截断数字的最后一位,还是实际上需要两个字节并在内部转换为SMALLINT?
编辑-我知道这个数字表示将要显示的位数,就像TINYINT(2)将只显示2位数或其他什么,但是如果这个数字超过了数据类型实际可以容纳的位数呢?
发布于 2014-09-11 16:22:04
正如您所说的那样,TINYINT类型使用1字节存储256个可能的整数值(-128到127)或无符号0-255。看到了吗-128?这是(连同ZEROFILL) (4)的原因。但它不会自动转换为SMALLINT,因此请相应地选择您的数据类型。参见this link,这个博客处理这个主题(正如这里的answer中提到的那样)。
https://stackoverflow.com/questions/23061982
复制相似问题