広告ここでは文字列型の中でもSET型について確認していきます。SET('value1','value2',...)SET型では文字列定数をリストします。このデータ型が設定されたカラムに値を格納する場合、このリストの中の0個以上の定数を指定します。(2個以上指定する場合はカンマで区切ります)。リストできる値は64までです。ENUM型とSET型は似ていますが、ENUM型は格納可能な値の一覧を定義し一つ選択しているのに対して、SET型は指定可能な値の組み合わせを定義し、データとして格納するのは組み合わせを指定するものです。例として次のように記述します。SET('red','blue','yellow'));カラムcolにはSET型が設定してあります。SET型には'red','blue','yellow'の3つの値をリストとして記載していますので、このテーブルにデータを追加する場合にはcolカラムには'red','blue','yellow'の0個以上の組み合わせたものを指定します。VALUES('');データを格納し、格納されたデータを取得してみます。modeが有効な場合にはエラーとなります。無効の場合には空白が代入されます。modeが有効となっています。modeについてはENUM型のページで記載していますので、詳しくは「ENUM型」を参照して下さい。複数の値を指定したデータは、記述されて順番に関係なく、SET型のリストの中に記述された順序を使ってデータが格納されます。VALUES('blue,red');NULLNULLはリストに含まれていない場合でもデータとして指定することができます。VALUES(null);NULLはそのままNULLとして格納されます。ビットを使った指定SET型にリストされた文字列定数には順に次のようにビットが割り当てられます。(=4)SET型が設定されているカラムにデータを追加する場合、文字列の代わりにビットを使って指定することができます。VALUES(4);上記の場合、ビット4に該当する'yellow'が格納されます。複数の値を指定する場合は、各値のビットをORした結果を使って指定することができます。VALUES(5);上記の場合、5(=0101)ですので該当する'red,yellow'が格納されます。文字セットと照合順序SET型は文字セットと照合順序を指定することができます。使い方は次の通りです。照合順序]文字セットと照合順序の設定についてはCHAR型などと同じです。詳しくは「CHAR型とVARCHAR型」を参照して下さい。IKURA初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を多数行っています。