はい、NO_ZERO_DATEモードを有効にします:
SET sql_mode = 'NO_ZERO_DATE';
動作が文書化されています 。さらに、NO_ZERO_IN_DATE ...
を含むようにモードを設定することもできます。また、sql_modeにSTRICT_ALL_TABLESまたはSTRICT_TRANS_TABLESのいずれかが含まれていることを確認してください。これらがないと、NO_ZERO_IN_DATEは警告を出すだけですが、挿入は成功します。
個別の列は、個別にチェックする必要があることを意味します。これについては何もできません。