应该怎么理解这个(8),我的研究进度如下:在创建表时使用id mediumint unsigned来定义id这个字段后,mysql会自动mediumint(8),这可通过describe 表看到。
似乎(8)表示的是数字的位数,因为无符号的mediumint类型最大支持16777215,正好是8位。问题来了,
当我采用id mediumint(1) unsigned来创建字段时,在该列仍然可以输入8位数字,这是为什么呢,(1)不是用来限制该列位数的,
那么(8)是什么?另外在char(2)中,数字2的确限制了位数,我已经测试过。但似乎串类型的定义规则不能套用到数值类型上。Server version: 5.5.23 MySQL Community Server (GPL)
上面是我的版本,手头有5.5的参考手册,未找到相关解释。
似乎(8)表示的是数字的位数,因为无符号的mediumint类型最大支持16777215,正好是8位。问题来了,
当我采用id mediumint(1) unsigned来创建字段时,在该列仍然可以输入8位数字,这是为什么呢,(1)不是用来限制该列位数的,
那么(8)是什么?另外在char(2)中,数字2的确限制了位数,我已经测试过。但似乎串类型的定义规则不能套用到数值类型上。Server version: 5.5.23 MySQL Community Server (GPL)
上面是我的版本,手头有5.5的参考手册,未找到相关解释。
1
显示7为的1
1
显示6位
1mediumint,因为无符号的mediumint类型最大支持16777215,正好是8位,8为是256。这不是8位,是24位 即3个字节。