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

MYSQL 中有CHECK约束吗?
create   table   news2(
id   int   auto_increment   primary   key,
title   varchar(40)   not   null,
writer   varchar(20)   ,
content   longtext   not   null,
date   datetime,
titlestyle   text   ,
htmlon   int   not   null   check   htmlon   in   (0,1),
allowhtml   int   not   null   check   allowhtml   in   (0,1)
)
我的表   为什么我增加
alter   table   news   add   constraint   html   check(htmlon   in   (0,1))  
这个约束后   能够执行   没有错误  
但是我运行
insert   into   news(title,writer,content,date,titlestyle,htmlon,allowhtml)   values( 'dsaf ', 'asdf ', 'asdfas ',now(), '2 ',5,1)
仍然可以填入数据库
也就是说     htmlon   allowhtml这两个字段我想设为只能去0和1     但是我插5也能插得进    

怎么回事啊?


------解决方案--------------------
mysql只是check,但是不强制check,所以这种问题,需要用其他方法来处理。