如何限制输入的值是数字型字符串?
假设有一个字段:密码.设计时,pw 定义为char,该字段列的值必须是6位纯数字的字符串.
我想可以创建一个check约束或规则,以下是我写的代码
use bank
go
create rule rule_pw
as len(@pw)=6 and @pw like '[0-9] '
go
exec sp_bindrule 'rule_pw ', 'login.pw '
insert into login
(card,pw)values( '123456 ', '100000 ')
在运行到插入语句时,提示错误
"列的插入或更新与先前的 CREATE RULE 语句所强制的规则冲突。该语句已终止。冲突发生于数据库 'bank ',表 'login ',列 'pw '。
语句已终止。 "
请问高手前辈们,我该怎么修改实现标题的功能?
[解决办法]
Create rule rule_pw
as Len(@pw)=6 and isNumeric(@pw)=1