我一直在尝试设置长度约束,以便它不会采用长度大于或小于5的字符串
创建表语句:
create table exp(id char(10),name varchar(50));
添加约束语句:
alter table exp add constraint exp1 check(length(id)=5);
插入声明:
insert into exp(id,name) values('10001','Abhi');
但是只要我尝试插入上面写的数据,它就会显示
insert into exp(id,name) values('10001','Abhi')
*
ERROR at line 1:
ORA-02290: check constraint (VIT.EXP1) violated
答案 0 :(得分:3)
将char(10)更改为varchar2(10):
create table exp(id varchar2(10),name varchar(50));
char(10)列的长度始终为10。不管您的插入语句如何。这就是为什么您会得到错误。