> > If you insert an invalid value into an ENUM (that is, a string not
> > present in the list of allowed values), the empty string is inserted
> > instead as a special error value. This string can be distinguished
> > a 'normal' empty string by the fact that this string has the numerical
> > value 0. More about this later.
> "changeday" is NOT NULL -> but you still can enter
> '' ... Strange and, IMO, a bug. What's the use of
> restricting to a set of possible values without enforcing it?
> On an INSERT it allows you to get or track entry errors. You have to
> apply error checking to your application to enforce the integrity of the
> enum field.
So, basically, an ENUM has no real use when it comes to
checking its values?
>This has been one of those excessively debated issues over
> the years.
I sure hope so :-) ... I'm still new to MySQL though :-)
>I have used this 'feature' for error checking for a long time
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL