设计学生表时添加性别约束问题(2019/3/22)
不能在stusex CHAR(2) DEFAULT ‘m’ COMMENT ‘学生性别’,内直接写check语句。
如:stusex CHAR(2) DEFAULT ‘m’ check(stusex in(‘m’,‘f’)) COMMENT ‘学生性别’,
mysql会直接报错。
需要如下写,例:
CREATE TABLE student(
stusex CHAR(2) DEFAULT ‘m’ COMMENT ‘学生性别’,
address VARCHAR(50) COMMENT ‘学生住址’,
PRIMARY KEY(stuid),
CONSTRAINT stusex CHECK (stusex in(‘m’,‘f’))
);
虽然添加成功,但是约束不起作用,不符合check内容同样能添加进入。
在网上找后发现是The CHECK clause is parsed but ignored by all storage engines.
需要添加触发器存储过程。