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

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

------解决方案--------------------

--不会追加进去,你执行一下如下SQL,试一下

insert student (num,name) select 5, 'a '


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

这个是文档里说的。所以是会插入成功的。

------解决方案--------------------
关注。。。