I went into phpMyAdmin and changed the value for an integer(15)field to a 10-digit number, so everything should work fine. I entered the value '4085628851' and I am receiving the following error:
Warning: #1264 Out of range value adjusted for column 'phone' at row 1
It then changes the value to '2147483647'.
After some googling, I found this article that explains how to fix the problem. http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/, but I don't know how to login to the Mysql shell.
How do I login to the Mysql shell? How do I fix this error?
you can try not giving the value that starts with'0'. If you want to begin the values with zero, then use varchar datatype
The value you were trying to set is too large for a signed
INT
field. The display width(15)
does not affect the range of values that can be stored, only how the value is displayed.Ref: MySQL Docs on numerics
On phone numbers - see Is it better to store telephone numbers in some canonical format or "as entered"?
I just changed the field type to BIGINT, and that fixed the problem. I guess i cant enter a value above 2147483647 for an INT, so I assume everyone who uses a field to enter a 10-digit phone number uses a BIGINT?
Best option for storing an integer of value bigger than 2147483647 would be to make the field type as BIGINT.
If it is for storing phone number, then way better is to store the value as a text field.