suchen

Heim  >  Fragen und Antworten  >  Hauptteil

数据类型 - mysql里mediumint类型如果手动把“长度”设为3,会有影响吗?

查了一下,一般都是这么说的:

  • TINYINT——一个微小的整数,支持 -128到127(SIGNED),0到255(UNSIGNED),需要1个字节存储

  • BIT——同TINYINT(1)

  • BOOL——同TINYINT(1)

  • SMALLINT——一个小整数,支持 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2个字节存储

  • MEDIUMINT——一个中等整数,支持 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3个字节存储

  • INT——一个整数,支持 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4个字节存储

  • INTEGER——同INT

  • BIGINT——一个大整数,支持 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8个字节存储

用Navicat之类的可视化工具的时候,“长度”那一项是可以改的。也就是说,我可以把mediumint的长度改成3,或者把tinyint的长度改为10……
我试着改了一下再看表中的数据,是没有变的。
我就想问问,其实这里生效的只是“类型”对吗?


又搜了一下,找到这个:

mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill是有用
如int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。

位数限制基本没有意义。

http://www.111cn.net/database...

不知道这里说的“位数”是不是我说的“长度”呢……

ringa_leeringa_lee2768 Tage vor530

Antworte allen(2)Ich werde antworten

  • PHPz

    PHPz2017-04-17 16:40:32

    是的,位数(你说的长度)只是显示问题

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 16:40:32

    只是显示的位数,跟最大最小值没有关系

    Antwort
    0
  • StornierenAntwort