如何修复"针对列调整的超出范围值"错误?

zec*_*ude 17 mysql range

我进入phpMyAdmin并将整数(15)字段的值更改为10位数字,所以一切都应该正常工作.我输入值'4085628851',我收到以下错误:

警告:#1264超出范围值,已针对第1行的"电话"列进行了调整

然后它将值更改为'2147483647'.

经过一些谷歌搜索,我发现这篇文章解释了如何解决问题.http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/,但我不知道如何登录Mysql shell.

我如何登录Mysql shell?我该如何解决这个错误?

mar*_*ton 23

您尝试设置的值对于签名INT字段而言太大.显示宽度(15)不会影响可以存储的值的范围,只会影响值的显示方式.

参考:关于数字的MySQL文档

关于电话号码 - 请参阅以某种规范格式或"输入"存储电话号码更好吗?


zec*_*ude 9

我刚刚将字段类型更改为BIGINT,这解决了问题.我想我不能为INT输入2147483647以上的值,所以我假设每个使用字段输入10位数电话号码的人都使用BIGINT?


小智 8

存储大于2147483647的整数值的最佳选择是将字段类型设置为BIGINT.

如果它用于存储电话号码,那么更好的方法是将值存储为文本字段.