I have this column that\'s
INT(10) ZEROFILL NOT NULL DEFAULT \'0000000000\',
But when I insert something like 9100000010, I get 42949
Largest value possible in INT field in MySQL is 2147483647, your value 9100000010 is greater than that. That is why it is overflowing to 4294967295 which is Max for Unsigned Integer.
11.1.4.1. Integer Types (Exact Value)
INT 4 -2147483648 2147483647
Use BIGINT if you want to store larger number, which ranges from:
BIGINT 8 -9223372036854775808 9223372036854775807