Unix Technical Forum

How to enforce an ENUM ?

This is a discussion on How to enforce an ENUM ? within the MySQL forums, part of the Database Server Software category; --> I have a table with an ENUM row. If I insert a new row (using PHP5, MySQL5 and PDO ...


Go Back   Unix Technical Forum > Database Server Software > MySQL

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-28-2008, 11:27 AM
Pugi!
 
Posts: n/a
Default How to enforce an ENUM ?

I have a table with an ENUM row.
If I insert a new row (using PHP5, MySQL5 and PDO for database
connections) with a value that is not in the ENUM list, no error, no
warning, no exception ... The row is inserted but the field where
normally one of the values of the ENUM list should be is empty even if
it is NOT NULL.

How can I enforce the ENUM ?

Pugi!

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-28-2008, 11:27 AM
ZeldorBlat
 
Posts: n/a
Default Re: How to enforce an ENUM ?

On Sep 14, 6:50 am, Pugi! <pugin...@gmail.com> wrote:
> I have a table with an ENUM row.
> If I insert a new row (using PHP5, MySQL5 and PDO for database
> connections) with a value that is not in the ENUM list, no error, no
> warning, no exception ... The row is inserted but the field where
> normally one of the values of the ENUM list should be is empty even if
> it is NOT NULL.
>
> How can I enforce the ENUM ?
>
> Pugi!


I looked in the manual for you and found this information:

<http://dev.mysql.com/doc/refman/5.0/en/constraint-enum.html>

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-28-2008, 11:27 AM
Peter H. Coffin
 
Posts: n/a
Default Re: How to enforce an ENUM ?

["Followup-To:" header set to comp.databases.mysql.]
On Fri, 14 Sep 2007 03:50:08 -0700, Pugi! wrote:
> I have a table with an ENUM row.
> If I insert a new row (using PHP5, MySQL5 and PDO for database
> connections) with a value that is not in the ENUM list, no error, no
> warning, no exception ... The row is inserted but the field where
> normally one of the values of the ENUM list should be is empty even if
> it is NOT NULL.
>
> How can I enforce the ENUM ?


List the acceptable values in another table. Add a foreign key
constraint to your table and column referring to that list of values.
It's up to you to decide what you want to do with the values in the main
data table when you alter or delete the entry in the list of values
table: nothing, follow the alteration, delete the records with that
value, etc.

--
6. I will not gloat over my enemies' predicament before killing them.
--Peter Anspach's list of things to do as an Evil Overlord
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 04:53 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com