MySQL5.6 はDEFALULT NOT NULLのカラムにnullが入ってくるとエラーを返しますが、MySQL5.5以下はその型のデフォルト値を入れてくれるようになっています。
これはsql_modeの違いによるものです。Amazon RDSでどうなっているか見てみます
5.5系
mysql> SELECT @@GLOBAL.sql_mode; +-------------------+ | @@GLOBAL.sql_mode | +-------------------+ | | +-------------------+ 1 row in set (0.00 sec)
5.6系
mysql> SELECT @@GLOBAL.sql_mode; +------------------------+ | @@GLOBAL.sql_mode | +------------------------+ | NO_ENGINE_SUBSTITUTION | +------------------------+ 1 row in set (0.00 sec)
となっていたので、Amazon RDSではとりあえず意識しなくても良さそうです。