insert時にwarningが出る=ほとんどの場合において何かおかしいデータが入ってしまったということなので非常に残念です。その警告はエラーとして扱うべきじゃないのかと。 $ mysql -uroot database -e " create temporary table X (id integer); insert into X values(10000000000000000000000000000000000000000000000); select * from X" +------------+ | id | +------------+ | 2147483647 | <-- wtf +------------+sql_modeをSTRICT_ALL_TABLESとかにすることで挿入時に一部の警告をエラーとして扱うことができる。 $ mysql -uroot database