用下面的语句创建一个表:
create table student(num smallint primary key check (num > 10), name char(8) not null),约束num的值要大于10,为什么insert student set num = 5会插入成功呢??

解决方案 »

  1.   


    --不会追加进去,你执行一下如下SQL,试一下insert student (num,name) select 5,'a'
      

  2.   

    对于所有的存储引擎,CHECK子句会被分析,但是会被忽略.接受这些子句但又忽略子句的原因是为了提高兼容性,以便更容易地从其它SQL服务器中导入代码,并运行应用程序,创建带参考数据的表这个是文档里说的。所以是会插入成功的。
      

  3.   

    也就是说mysql不支持check约束?