0
たとえば、私は列> shopping_cart.statusを持っています。この列ステータスは、各レコードの3つの値>「不完全」「完全」または「出荷」のいずれかを含む必要があります。私の質問は、これらが唯一の値であることを確認するアプリケーションでなければならないのですか、これをデータベース側でこの属性のドメインに組み込む必要がありますか?私のデータベースに追加されるデータの値を定義する最良の方法はどれですか?
たとえば、私は列> shopping_cart.statusを持っています。この列ステータスは、各レコードの3つの値>「不完全」「完全」または「出荷」のいずれかを含む必要があります。私の質問は、これらが唯一の値であることを確認するアプリケーションでなければならないのですか、これをデータベース側でこの属性のドメインに組み込む必要がありますか?私のデータベースに追加されるデータの値を定義する最良の方法はどれですか?
enumは、正確に意味するものを使用してください。
ENUMは、テーブル作成時にカラム 明細書に明示的に列挙され 許容値のリストから選択された値を持つ文字列オブジェクトです。
列挙値は、引用符付きの文字列リテラルである必要があります。文字列値に評価される式でさえ、 式ではない可能性があります。
CREATE TABLE shoppingcards (
shoppingcardstatus ENUM('incomplete', 'complete', 'shipped')
);
たとえば、 あなたはこのようなENUM列を持つ表を作成することができます。私の列挙型リストを別のテーブルから生成できるので、テーブルを直接更新する必要はありません。だから私はテーブルに自分のオプションを追加し、有効なデータを受け入れて拡張することができるだろう。 –