mysql> desc test; +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | number | decimal(4,2) | NO | | NULL | | +--------+--------------+------+-----+---------+----------------+ 2 rows in set (0.00 sec) mysql> select @@sql_mode; +--------------------------------------------+ | @@sql_mode | +--------------------------------------------+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+ 1 row in set (0.00 sec) mysql> select * from test; Empty set (0.00 sec) mysql> insert into test(id,number) value(NULL,100); ERROR 1264 (22003): Out of range value for column 'number' at row 1 mysql> SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION'; Query OK, 0 rows affected (0.00 sec) mysql> insert into test(id,number) value(NULL,100); Query OK, 1 row affected, 1 warning (0.00 sec) mysql> select * from test; +----+--------+ | id | number | +----+--------+ | 1 | 99.99 | +----+--------+ 1 row in set (0.00 sec)