2014-10-30 64 views
3

在存储过程中,我使用临时表agentID int(11)并将此值插入agentID字段9999999999中,与服务器版本一起工作: 5.5.29 MySQL社区服务器(GPL)。现在我在MySQL 5.6上迁移,这不起作用,它显示了这里的问题(数据截断:列'agentID'在第4行超出范围值)。请任何人向我解释为什么MySQL服务器的行为不同,它应该是重要的。MysqlDataTruncation:数据截断:第4行的列'agentID'超出范围值

+0

确定在5.5的工作?在我的测试中,[MySQL 5.5](http://www.sqlfiddle.com/#!2/5a88b/1)和[MySQL 5.6](http://www.sqlfiddle.com/#!9/5a88b/1 )发生错误。检查:[MySQL 5.5 :: 11.2.1整型(精确值) - INTEGER,INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT](http://dev.mysql.com/doc/refman/5.5/en/integer- types.html)和[MySQL 5.6 :: 11.2.1整型(精确值) - INTEGER,INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT](http://dev.mysql.com/doc/refman/5.6/en /integer-types.html)。 – wchiquito 2014-10-31 16:05:19

+0

@wchiquito是我在2年前写了存储过程,它的工作正常。但是现在我迁移了最新版本,然后面临这个问题。 – 2014-11-07 12:08:14

+0

请检查[5.1.7服务器SQL模式](http://dev.mysql.com/doc/refman/5.6/en/sql-mode.html)([sql_mode](http://dev.mysql。 com/doc/refman/5.6/en/server-options.html#option_mysqld_sql-mode))在两台服务器上(5.5和5.6)。 [11.2.6超出范围和溢出处理](http://dev.mysql.com/doc/refman/5.6/en/out-of-range-and-overflow.html)。 [SQL Fiddle演示](http://www.sqlfiddle.com/#!9/c4de6/1)。 – wchiquito 2014-11-07 16:37:02

回答

2

的MySQL 5.6支持高达整数:2147483647

enter image description here

+0

nwzhaider请加上以上来源的链接。 – 2015-11-27 11:56:34