有表如下;会员表,第一个字段是会员编号,varchar(24)类型;第二个字段是单位名称;
现在插入一条记录,会员编号为'abcd';插入了;
下面要添加一个约束,会员编号字段只能为数字的字符;执行sql,
alter table members add constraint numberisnumber check(memnumber like '%[0-9]%');
出现上图的错误;
这错误是因为,加这个约束要先把表数据清空才能加;
从数据库生成脚本,对象只选中前面的表;如下图选中 仅限数据,高级脚本编写选项 对话框是 高级 按钮弹出的,
如下图选中 保存到新建查询窗口,
生成备份数据的insert语句;然后清空表数据,
然后再执行前面新建约束的sql,成功,看一下新建的约束出来了;
如果再插入会员编号为'abcd'的记录,则不能插入,
如果把会员编号改为'1004',则可以插入;
like '%[0-9]%',不过这个正则是指的必须包含数字,包含一位即可,[0-9]前面和后面加了百分号;