Reply to Re: enum, set, other ? what to use

Your name:

Reply:


Posted by Tyrone Slothrop on 09/29/05 17:07

On Thu, 29 Sep 2005 08:59:33 +0200, "Bob Bedford"
<bedford1@notforspammershotmail.com> wrote:

>I've to store in some records some details. Those details aren't always
>used, and sometimes more than one are used.
>
>The user has for now 4 choices, and I must save in the database wich ones he
>selected. Soon I will have more choices.
>
>What kind of column type should I use ? I won't create 4 fields for storing
>a true or false value.
>
>I guess I should use enum or set, but wich one to use ? Are they easy to use
>and fast ?
>
>Bob

Enum limits you to store a single value from a number of possible
values, like yes, no, or maybe. A set allows you to store multiple
values separated by commas.

If strictly boolean (Y/N or 1/0), I would go with four fields. This
will simplify your queries. If the four fields have unique values
(apples, oranges,guavas,papayas), then set may be better. Why? The
FIND_IN_SET function allows you to look for a specific value in a set
field type directly in a query.

SELECT * FROM table WHERE FIND_IN_SET('apples',your_set_field);

If all you have are 1's and 0's (like 1,0,1,1) then every time you
want to query the field you will have to treat it as an array and have
to query each and every record to do it!

$qy = "SELECT * FROM table";
$rs = mysql_query($qy);
while ($row=mysql_fetch_array($rs)) {
$set = explode(',', $row['your_set_field']);
//Then evaluate the array member for a match:
if ($set[1] == 'whatever') { //do something; }
}

See the difference?

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация