MySQLのSET型とENUM型の違い
MySQLの列挙できるデータ型としてSET型とENUM型があります。
ま、入るデータを限定できるという利点はあるんですけど、
この使い道の違いがなんなのかちょっと謎。
で、調べてみると
ENUM型 … リストの中から一つ選ぶ … ラジオボタン SET型 … リストの中から選ぶ … チェックボックス
という感じです。
実際、ENUMはChar型でデータを保存して、SET型はビット列で
保存するみたいです。ビットが立ってるやつが選択されてる、
といった具合ですね。
フォームの値をそのまま格納できるらしいので、便利ですよね。
もっと早く知っていればよかった…。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 10.4.4 ENUM タイプ
http://dev.mysql.com/doc/refman/5.1/ja/enum.html
エンタープライズ:MySQL独自のENUM・SET型を使ってみよう
http://www.itmedia.co.jp/enterprise/0308/24/epn01.html
データ型の概要 [SQL講座 -Smart]
http://www.rfs.jp/sb/sql/02/03.html
追記(2009/07/13)
追加の方法。
INSERT INTO sample(way) VALUES('自転車'); INSERT INTO sample(food) VALUES('イカ焼き,たこ焼き');
こんな風に2進値でもなんでもなく、定義されている文字列を
投げる。SET型は、カンマで区切って投げる。