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,所以这种问题,需要用其他方法来处理。