What is the MAX number if I store int(255) in MySQL?

前端 未结 5 1219
无人及你
无人及你 2020-12-02 23:06

I use int(255) in mysql as my id. Is this long enough? If I got about 1,000,000 records....Thank you.

相关标签:
5条回答
  • 2020-12-02 23:40

    -2147483648 to 2147483647 as per the docs for a signed 32 bit integer value

    The 255 is simply display width and doesn't affect the range of values

    0 讨论(0)
  • 2020-12-02 23:46

    The INT in mysql use 4 byte storage, and range from -2147483648 to 2147483647. If you use unsigned int, the range is 0 to 4294967295.

    0 讨论(0)
  • 2020-12-02 23:47

    See this blog.

    SELECT ~0 as max_bigint_unsigned
    ,      ~0 >> 32 AS max_int_unsigned
    ,      ~0 >> 40 AS max_mediumint_unsigned
    ,      ~0 >> 48 AS max_smallint_unsigned
    ,      ~0 >> 56 AS max_tinyint_unsigned
    ,      ~0 >> 1  AS max_bigint_signed
    ,      ~0 >> 33 AS max_int_signed
    ,      ~0 >> 41 AS max_mediumint_signed
    ,      ~0 >> 49 AS max_smallint_signed
    ,      ~0 >> 57 AS max_tinyint_signed
    \G
    
    *************************** 1. row ***************************
       max_bigint_unsigned: 18446744073709551615
          max_int_unsigned: 4294967295
    max_mediumint_unsigned: 16777215
     max_smallint_unsigned: 65535
      max_tinyint_unsigned: 255
         max_bigint_signed: 9223372036854775807
            max_int_signed: 2147483647
      max_mediumint_signed: 8388607
       max_smallint_signed: 32767
        max_tinyint_signed: 127
    1 row in set (0.00 sec)
    
    0 讨论(0)
  • 2020-12-02 23:51

    Something is probably just converting that to int(11) for you. Since you can't have 255 visible digits in an int, the maximum value will be 2147483647.

    If you need more than that you can set it to be unsigned, since I'm assuming you have no negative ids and then you can have up to 4294967295.

    If you are ever going to have more than 4 billion records (very unlikely if you're at 1 million right now), then you could use a bigint instead, which allows you to store numbers up to 18446744073709551615 at a cost of more storage space of course.

    0 讨论(0)
  • 2020-12-02 23:56

    If unisgned, from 0 to 4 294 967 295, so that is more than eough.

    More info in mysql docs.

    0 讨论(0)
提交回复
热议问题