1.check约束
MySQL可以使用check约束,但check约束对数据验证没有任何作用。
create table temp(
id int auto_increment primary key(id),
name varchar(20),
age int,
/*check约束*/
check(age > 20)
);
上面check约束要求age必须大于0,但没有任何作用。但是创建table的时候没有任何错误或警告。
2.可以使用enum替代
enum(‘val1’, ‘val2’, …) | 枚举类型,该列的值只能是enum括号中出现的值的之一 |
create table temp(id int auto_increment primary key(id),
name varchar(20),age int,/* enum */sex enum('y','n') NOT NULL DEFAULT 'y'
);enum枚举类型,强制列值只能使用enum('y','n')中限定的内容