7.1 作用

检查某个字段的值是否符号xx要求,一般指的是值的范围

2、关键字

CHECK

3、说明:MySQL 5.7 不支持

MySQL5.7 可以使用check约束,但check约束对数据验证没有任何作用。添加数据时,没有任何错误或警告

但是MySQL 8.0中可以使用check约束了

  1. create table employee(
  2. eid int primary key,
  3. ename varchar(5),
  4. gender char check ('男' or '女')
  5. );
  1. insert into employee values(1,'张三','妖');
  1. mysql> select * from employee;
  2. +-----+-------+--------+
  3. | eid | ename | gender |
  4. +-----+-------+--------+
  5. | 1 | 张三 | |
  6. +-----+-------+--------+
  7. 1 row in set (0.00 sec)
  • 再举例
  1. CREATE TABLE temp(
  2. id INT AUTO_INCREMENT,
  3. NAME VARCHAR(20),
  4. age INT CHECK(age > 20),
  5. PRIMARY KEY(id)
  6. );
  • 再举例
  1. age tinyint check(age >20) sex char(2) check(sex in(‘男’,’女’))
  • 再举例
  1. CHECK(height>=0 AND height<3)