7.1 作用
检查某个字段的值是否符号xx要求,一般指的是值的范围
2、关键字
CHECK
3、说明:MySQL 5.7 不支持
MySQL5.7 可以使用check约束,但check约束对数据验证没有任何作用。添加数据时,没有任何错误或警告
但是MySQL 8.0中可以使用check约束了。
create table employee(eid int primary key,ename varchar(5),gender char check ('男' or '女'));
insert into employee values(1,'张三','妖');
mysql> select * from employee;+-----+-------+--------+| eid | ename | gender |+-----+-------+--------+| 1 | 张三 | 妖 |+-----+-------+--------+1 row in set (0.00 sec)
- 再举例
CREATE TABLE temp(id INT AUTO_INCREMENT,NAME VARCHAR(20),age INT CHECK(age > 20),PRIMARY KEY(id));
- 再举例
age tinyint check(age >20) 或 sex char(2) check(sex in(‘男’,’女’))
- 再举例
CHECK(height>=0 AND height<3)
