mysql学习问题-mysql的check约束对数据验证没有任何作用
MySQL可以使用check约束,但check约束对数据验证没有任何作用。--貌似新版本可以检查check约束了 ,英语太差,官方文档在此:https://dev.mysql.com/doc/refman/8.0/en/
-- check约束对数据验证没有任何作用,插入成功,不报错 INSERT INTO t_student VALUES (4,2345,'王五','深圳南山','13264581265',0,80);
解决方法:https://blog.csdn.net/ldx19980108/article/details/79921853
附件:对应表的创建
-- 表名和字段名系统默认会转换大写,即不区分大小写 DROP TABLE t_student; create table t_student ( id int PRIMARY KEY NOT NULL, -- 主键必须唯一,不能为空 stu_no INT UNIQUE ,-- 唯一约束,可以为空,除非设置为not NULL,并且可以有多个null stu_name varchar(20) NOT NULL,-- 非空约束 stu_addr varchar(100) , stu_phone varchar(11), stu_sex SMALLINT DEFAULT 1 CHECK(stu_sex in(0,1)),-- 检查约束,check约束 stu_age tinyint(4) NOT NULL DEFAULT 30 CHECK (stu_age BETWEEN 20 AND 60) -- 默认值约束,check约束对数据验证没有任何作用 not null必须在默认值前,否则会报错 )