一般的に、ENUM
タイプは、これらの状況で使用されることを意図したものではありません。これは、将来、役割を追加または削除する柔軟性に対応する場合に特に当てはまります。 ENUM
の値を変更する唯一の方法 ALTER TABLE
を使用します 、独自のテーブルでロールを定義する場合、roles
に新しい行が必要になるだけです。 テーブル。
さらに、roles
を使用します 表を使用すると、description
のように、役割をより適切に定義するための列を追加できます。 オプション1で提案したフィールド。これは、ENUM
を使用する場合は不可能です。 オプション2のように入力します。
個人的にはENUM
を選びません これらのシナリオでは。 {Spades, Hearts, Diamonds, Clubs}
のように、絶対に有限の値のセットを持つ列に使用されているのを見ることができるかもしれません。 カードのスートを定義するため。ただし、問題のケースなどでは、前述の不利な点のために定義しません。