Indeed sql_mode settings need to be changed:
mysql> create table students (name varchar(20) not null, sex enum('F','M') not null, student_id int primary key);
Query OK, 0 rows affected (0.02 sec)
mysql> set sql_mode = '';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO students (sex,student_id) VALUES('M',1);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+-------------------------------------------+
| Level | Code | Message |
+---------+------+-------------------------------------------+
| Warning | 1364 | Field 'name' doesn't have a default value |
+---------+------+-------------------------------------------+
1 row in set (0.00 sec)
mysql> set sql_mode = 'STRICT_ALL_TABLES';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO students (sex,student_id) VALUES('M',2);
ERROR 1364 (HY000): Field 'name' doesn't have a default value