How do I fix the 'Out of range value adjusted

2019-01-20 07:21发布

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?

标签: mysql range
4条回答
啃猪蹄的小仙女
2楼-- · 2019-01-20 08:01

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

查看更多
疯言疯语
3楼-- · 2019-01-20 08:05

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

查看更多
孤傲高冷的网名
4楼-- · 2019-01-20 08:08

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?

查看更多
可以哭但决不认输i
5楼-- · 2019-01-20 08:16

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.

查看更多
登录 后发表回答