create table tt
(
    ind char(1),
    constraint ck_ind check(ind = 'A' or ind= 'B')
);insert into tt values('C');select * from tt;B被插入进去了,check没作用?

解决方案 »

  1.   

    MYSQL目前为止的版本中,并不支持CHECK,在语法中对CHECK会直接过滤。
      

  2.   

    check在MYSQL没有作用,用ENUM OR TRIGGER解决
      

  3.   

    foreign key 和 check 都不支持啊, 可有其他方法实现?
    初学者, 这学期刚上数据库.
      

  4.   

    支持外键 
    用ENUM类型 OR TRIGGER解决
      

  5.   

    是支持的,但需要在INNODB存储引擎下。对于CHECK,如果是简单的枚举,比如你例子中的,则可以用ENUM
    如果是复杂的则在BEFORE INSERT触发器中实现。http://blog.csdn.net/ACMAIN_CHM/archive/2009/07/25/4380183.aspx
    MySQL 中如何在触发器里中断记录的插入或更新?
      

  6.   

    一般学校的数据库教材是以ORACLE为准的。建议你还是安装ORACLE吧。