On Fri, 12 Apr 2002, Steve Katen wrote:
> Ruben, > > If you leave it as NOT NULL it should default to NO. "If an ENUM is > declared NOT NULL, the default value is the first element of the list of > allowed values." > > SIDE QUESTION: > Are you doing something like: select * from table where enum_colum="NO" > > If you are running that type of query it won't work because enum does not > store the values you put in. it stores an index. Huh? It works for me (in 3.23.44). Consider mysql> CREATE TABLE enum_test ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> enum_column ENUM('No','Yes') NOT NULL, -> PRIMARY KEY (id) -> ); Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO enum_test (enum_column) -> VALUES ('No'), ('Yes'), ('Yes'), ('No'), ('No'), ('No'), ('Yes'); Query OK, 7 rows affected (0.00 sec) Records: 7 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM enum_test WHERE enum_column='No'; +----+-------------+ | id | enum_column | +----+-------------+ | 1 | No | | 4 | No | | 5 | No | | 6 | No | +----+-------------+ 4 rows in set (0.00 sec) I don't think enums would be very useful if this weren't the case. Of course, the manual <http://www.mysql.com/doc/E/N/ENUM.html> is very unclear on this. It's so busy explaining the the special cases (NULL, invalid insert, numerical value, sorting, etc.) that it does not give a single example of using the enumerated values in a select or insert. That should probably be remedied. Michael --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php