Hola szemog:
Creo que estás confundido en cuanto a al significado del (10) en tu definición de datos. Para comenzar, tu tipo de datos es INT, esto quiere decir que el rango de valores que puede almacenar es de -2147483648 a 2147483647.
Es conveniente que leas antes que nada la documentación oficial:
http://dev.mysql.com/doc/refman/5.0/...ric-types.html
Observa esta nota
Cita: MySQL soporta otra extensión para especificar de forma óptima el ancho a mostrar de un tipo entero en paréntesis después de la palabra clave para el tipo (por ejemplo, INT(4)). Esta especificación opcional del ancho de muestra se usa para alinear a la izquierda la muestra de los valores con ancho menor que el ancho especificado para la columna.
El ancho de muestra no restringe el rango de valores que pueden almacenarse en la columna, no el número de dígitos que se muestran para valores con ancho que exceda el especificado para la columna.
Cuando se usa en conjunción con el atributo de extensión opcional ZEROFILL, el relleno por defecto de espacios se replaza por ceros. Por ejmplo, para una columna declarada como INT(5) ZEROFILL, un valor de 4 se muestra como 00004. Tenga en cuenta que si almacena valores mayores que el ancho de muestra en una columna entera, puede tener problemas cuando MySQL genera tablas temporales para algunos joins complicados, ya que en estos casos MySQL cree que los datos encajan en el ancho original de la columna.
Qué quiere decir esto??? que cuando tu pones INT(10) NO SIGNIFICA QUE PUEDAS COLOCAR CUALQUIER NUMERO CON 10 DÍGITOS.
El número que estás queriendo colocar en el campo es mayor al límite superior (2147483647) por lo tanto hay un desbordamiento. Para poder hacerlo deberás cambiar tu tipo de dato por BIGINT.
Saludos
Leo.
Cita: Editado: otra vez se me adelantó gnzsoloyo con la respuesta jejejejejeje. Siempre pisándonos los talónes. Saludos