日期:2014-05-16  浏览次数:20808 次

数据完整性约束的问题
在mysql数据库下建表并设置完整性约束条件:
drop table student;
create table student(sno char(6) not null,
sex char(2) not null check(sex in('男','女'))); //即性别字段或者是“男”或者是“女”
建好表以后,插入一条记录:
insert into student values('100102','女'); //正常没有报错,
insert into student values('100102','wi');
但是也没有报错,也正常插入了,求解。

------解决方案--------------------
mysql是不支持check的,虽然语法上不会报错 ,用enum类型
------解决方案--------------------
所有的存储引擎均对CHECK子句进行分析,但是忽略CHECK子句
------解决方案--------------------
check 语句在MYSQL是聋子耳朵。