您的位置:首页 > 数据库 > MySQL

MySQL的check约束无效怎么办?

2015-03-04 14:46 218 查看
1.check约束
MySQL可以使用check约束,但check约束对数据验证没有任何作用。
createtabletemp(
idintauto_incrementprimarykey(id),
namevarchar(20),
ageint,
/*check约束*/
check(age>20)
);
上面check约束要求age必须大于0,但没有任何作用。但是创建table的时候没有任何错误或警告。
2.可以使用enum替代
enum(‘val1’,‘val2’,…)枚举类型,该列的值只能是enum括号中出现的值的之一
例如:
createtabletemp(
idintauto_incrementprimarykey(id),
namevarchar(20),
ageint,
/*enum*/
sexenum('y','n')NOTNULLDEFAULT'y'
);
enum枚举类型,强制列值只能使用enum('y','n')中限定的内容

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: