2017-05-07 30 views
1

在我的数据库中,某些属性只能设置为某些值。例如,属性“状态”只能设置为全职,兼职或临时。我如何以及在哪里在MySQL Workbench中执行此操作? (正如你可能知道的,我对MySQL很新)MySQL工作台:如何设置某些属性的约束

+0

Mysqlworkbench仅仅是一个图形用户界面,它不执行任何东西。 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