我有一张表,表结构如下
create table user(
uid int auto_increment primary key, -- 用户ID
uname varchar(20) not null unique, -- 用户名
upwd varchar(20) not null, -- 用户密码
sex varchar(2),-- 用户性别
age char(3)) -- 用户年龄
); 怎么给sex 和 age 创建一个检查约束,sex只能输入'男'或者'女'.
age 年龄是1-150 岁。
create table user(
uid int auto_increment primary key, -- 用户ID
uname varchar(20) not null unique, -- 用户名
upwd varchar(20) not null, -- 用户密码
sex varchar(2),-- 用户性别
age char(3)) -- 用户年龄
); 怎么给sex 和 age 创建一个检查约束,sex只能输入'男'或者'女'.
age 年龄是1-150 岁。
可以使用ENUMage 年龄是1-150 岁。
只能在触发器中实现。
create table user(
uid int auto_increment primary key, -- 用户ID
uname varchar(20) not null unique, -- 用户名
upwd varchar(20) not null, -- 用户密码
sex ENUM('男', '女') ,-- 用户性别
age char(3)) -- 用户年龄
);
有没有跟好一点的啊,比如说如果插入数据的时候不是'男'或'女’。就不能插入数据。。
同意,太多的约束检查在数据库上,会使DB Server性能上有点问题