I have a column which is set to
int(20) when I try and insert a number like
622108120237, it says it’s out of range. Why?
int, with MySQL, is stored on 4 bytes, and, as such, can only contain values between
622108120237 is greater than
2147483647 ; so it doesn’t fit into an
int — looks like you are going to have to use a
See the Datatypes – Numeric types section of
the MySQL manual, about that.
See the MySQL Numeric Type Documentation. These things are well-documented.
The range for a signed
INT is [-2147483648, 2147483647].
Note that in the case of
INT(x), x is the “display width” and has nothing to do with the range or space requirements:
MySQL supports an extension for optionally specifying the display width of integer data types in parentheses following the base keyword for the type. For example, INT(4) specifies an INT with a display width of four digits … display width does not constrain [or expand] the range of values that can be stored in the column.
The maximum value you can store in an signed integer is 2147483647
And unsigned int is 4294967295 in Both case you exceed the limit