create table t1
(
编号 varchar(10) not null check(regexp_like(编号,'[0-9][0-9][0-9][0-9]')) , //约束只能输入4位数字
姓名 varchar(20) not null
)表创建成功以后,
执行一下语句:
1、
insert into t1 values('21','aa');
返回错误,违反约束条件。
2、
insert into t1 values('1221','Aaa');
执行成功!
3、
insert into t1 values('12321','Daa');
执行成功!我创建的表中有约束条件,约束只能输入4位数字,为什么能输入5位呢?
是我写错了还是怎么个情况,求高手帮忙……
(
编号 varchar(10) not null check(regexp_like(编号,'[0-9][0-9][0-9][0-9]')) , //约束只能输入4位数字
姓名 varchar(20) not null
)表创建成功以后,
执行一下语句:
1、
insert into t1 values('21','aa');
返回错误,违反约束条件。
2、
insert into t1 values('1221','Aaa');
执行成功!
3、
insert into t1 values('12321','Daa');
执行成功!我创建的表中有约束条件,约束只能输入4位数字,为什么能输入5位呢?
是我写错了还是怎么个情况,求高手帮忙……
试试
你为什么不直接 varchar2(4)了
这个也是能输入5位、6位。。
(
编号 varchar(10) not null check(regexp_like(编号, '^\d{4}$')) , --约束只能输入4位数字
姓名 varchar(20) not null
)