How do I fix the 'Out of range value adjusted

2019-01-20 07:31发布

问题:

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?

回答1:

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"?



回答2:

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?



回答3:

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.



回答4:

you can try not giving the value that starts with'0'. If you want to begin the values with zero, then use varchar datatype



标签: mysql range