[已解决]数据库建表时,check存在的bug
Posted web小菜鸟ing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[已解决]数据库建表时,check存在的bug相关的知识,希望对你有一定的参考价值。
在数据库建表的时候,如果我们设置了约束检查,如下所示
create table aa
(
trancode char(4) not null ,
fieldname char(10) not null ,
iotype char(1)
default 'I',
sequence smallint not null ,
check (iotype IN ('I' ,'O' )),
);
check是为了是iotype只能在I和O中
但是如果插入语句为
insert into pjyjk(trancode,fieldname,iotype,sequence) values("9899","O9899",null,"100")
那么可以正常插入,约束并没有检查到插入的iotype为null,这样可能会引起后续的错误
所以,解决方法是,遇到这样的表,需要对字段约束时,再设置为not null即可
iotype char(1)
default 'I',not null
以上是关于[已解决]数据库建表时,check存在的bug的主要内容,如果未能解决你的问题,请参考以下文章