MySQL enum用法--实现类似check的输入约束

尽管MySQL对check仅编译不执行,尽管把这样的输入约束放在业务逻辑层去实现才是王道,但是在创建table时,仍然希望能对输入值进行约束检查。
此时用enum能实现相似的效果,比如性别“男”或“女”的输入受限:
创建表时:

1
2
3
4
5
create table 学生表(
.......
性别 enum("男", "女") not null ,
.......
)

修改表时:

1
alter table 学生表 modify column 性别 enum("男", "女")