MySQL permitirá que el valor sea NULL si no especifica NOT NULL
en la definición de la columna.
Aquí es una prueba rápida:
mysql> create table test (id serial, field ENUM('Y','N') DEFAULT 'N');
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO test (field) VALUES ('Y');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test (field) VALUES ('N');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test() VALUES();
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test (field) VALUES (NULL);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test (field) VALUES ('Invalid');
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> show warnings;
+---------+------+--------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'field' at row 1 |
+---------+------+--------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from test;
+----+-------+
| id | field |
+----+-------+
| 1 | Y |
| 2 | N |
| 3 | N |
| 4 | NULL |
| 5 | |
+----+-------+
5 rows in set (0.00 sec)
Así MySQL respetar el valor por defecto, sino que también permite nulos. (Curiosamente, se truncará valores no válidos y permitir que las cadenas en blanco, así, pero eso es otro tema)
lectura http://dev.mysql.com/doc/refman/5.1/en/enum.html ("Si se declara una columna ENUM a permitir NULL, el valor NULL es un valor legal para la columna, y el valor predeterminado es NULL. ") Creo que uno podría insertar con éxito NULL en esta columna. –