#1264超出范围值修复?

Gua*_*apo 1 mysql int outofrangeexception mysql-error-1264

当我尝试将下面插入我的MySQL时

INSERT INTO `rooms` (`id`, `ip`) VALUES ('131213', '-259857341');
Run Code Online (Sandbox Code Playgroud)

我失败了以下错误:

Warning: #1264 Out of range value for column 'ip' at row 1
Run Code Online (Sandbox Code Playgroud)

我环顾四周,但还没有找到如何解决或解决它...

我的字段是unsigned int,它应该适用于该条目.

有什么问题,如何解决?

我使用unsigned int因为我想使用inet_ntoa/aton存储ips.

编辑:

我在MySQL网站上使用unsigned INT作为推荐:

要存储由INET_ATON()生成的值,请使用INT UNSIGNED列而不是INT(已签名).如果使用带符号列,则无法正确存储与第一个八位字节大于127的IP地址对应的值.请参见第10.6节"超出范围和溢出处理".

http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html

Fli*_*mzy 5

UNSIGNED INT的负数超出范围.阅读文档以获取给定数据类型的允许值的完整列表.

  • 我并不反对INT UNSIGNED对存储IP有意义.我只是说它不适用于存储负数.IP永远不会消极. (3认同)