2017-05-07 14 views
1

私のデータベースでは、特定の属性は特定の値に設定する必要があります。たとえば、属性「ステータス」はフルタイム、パートタイム、または一時的にのみ設定できます。 MySQL Workbenchではどのようにしてこれを強制するのですか? (おそらく、私はMySQLの初心者です)MySQL Workbench:特定の属性の制約を設定する方法

+0

Mysqlworkbenchは、それが何かを強制しないだけでGUIです。 mysqlサーバでは、以下のGordonの説明に従って特定のルールを適用することができます。 – Shadow

答えて

2

これはいくつかの方法で行うことができます。最も望ましい方法は、トリガを設定することです。別の方法は、それらを列挙型として定義することです。私は列挙型のファンではありません。異なるテーブル間で簡単に共有されるわけではないからです。

また、参照テーブルと外部キー制約でこれを行うことができます。

create table ReferenceStatus (
    status varchar(255) primary key 
); 

alter table t add constraint fk_t_status foreign key (status) references ReferenceStatus(status); 
+0

ありがとう、ENUMは私が探していたものでした! – Bob

関連する問題