From: Martijn Tonies Date: January 5 2004 2:04pm Subject: Re: Enum default values List-Archive: http://lists.mysql.com/mysql/156847 Message-Id: <05ec01c3d394$c9798230$0e02a8c0@martijn> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, > [snip] > > 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 > from > > 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? > [/snip] > > 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 With regards, Martijn Tonies Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL Server. Upscene Productions http://www.upscene.com > now.