added a comment -
1970-01-01 00:59 This is not an option for existing databases, nor does it solve the problem in (future) cases where the database may attempt to store NULL values in other, not-nullable, fields.
IMO the db layer has to deal with this: if a field cannot be NULL, do not store NULL, but an acceptable default value.
Ofcourse what is an acceptable default depends on the field type - for a NODE field -1 may not be useful as a value (but then again, it is only a real problem is the db uses referential integrity for NODE fields, which most now dont).