列'之后的MySQL警告;s数据类型更改

列'之后的MySQL警告;s数据类型更改,mysql,types,Mysql,Types,我已更改MyISAM MySQL表中一列的数据类型(超过350万条记录): 在此之前,我的int\u列是mediumint(8)。执行查询后,我收到了377条警告。这里是显示警告查询结果: mysql> show warnings; +---------+------+----------------------------------------------------------+ | Level | Code | Message

我已更改MyISAM MySQL表中一列的数据类型(超过350万条记录):

在此之前,我的
int\u列是mediumint(8)。执行查询后,我收到了377条警告。这里是
显示警告查询结果:

mysql> show warnings;
+---------+------+----------------------------------------------------------+
| Level   | Code | Message                                                  |
+---------+------+----------------------------------------------------------+
| Warning | 1264 | Out of range value for column 'int_column' at row 19360   | 
| Warning | 1264 | Out of range value for column 'int_column' at row 33745   | 
| Warning | 1264 | Out of range value for column 'int_column' at row 181436  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 587071  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 596617  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 659837  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 668363  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 801450  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 827911  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 835083  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 853689  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 867848  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 922569  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 922633  | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1002626 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1095119 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1102957 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1183077 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1282318 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1308876 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1311981 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1313329 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1375981 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1468411 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1470989 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1552848 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1556220 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1613484 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1619116 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1664449 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1670895 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1685828 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1689845 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1690212 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1697586 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1701220 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1710764 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1716681 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1717857 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1721820 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1721848 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1736543 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1738177 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1745430 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1748732 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1750112 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1753833 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1753903 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1762801 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1765664 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1766269 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1768134 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1786470 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1788247 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1790305 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1792769 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1795158 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1800610 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1806786 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1808764 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1820163 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1828066 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1842223 | 
| Warning | 1264 | Out of range value for column 'int_column' at row 1844030 | 
+---------+------+----------------------------------------------------------+ 
64 rows in set (0.26 sec)
问题很明显:我怎么可能为整型字段分配更多字节,突然它变成了超出范围的

int\u列上没有索引(不过我不知道这会有什么帮助)

另一个问题是:为什么
show warnings
只返回了64行377?我都糊涂了


谢谢。

旧数据类型已签名,新数据类型未签名

所以你失去了所有的负数

“显示警告”对其存储的数量有限制。使用

SET max_error_count=....
改变它


顺便说一句,unsigned的int(11)太大,应该是int(10)。对于带符号的,由于减号的原因,您可以有11个字符。

对不起。确实是
签名的
。该死。我应该自己想出来的:-)显然我现在太不知所措了。谢谢。
SET max_error_count=....