2017-09-16 126 views
0

您好我想在SQL Server中我尝试这一点,但不能工作 我needd检查,如果一个字2 char和例子aa192后3个数字加约束:检查约束

create table test(
    idtest int primary key , 
    neEdition varchar(50) 
); 

alter table test add constraint ch_like check(neEdition like'[a-z][a-z][0-9][0-9][0-9]'); 
+0

这是行不通的? –

+0

消息547,级别16,状态0,行1 ALTER TABLE语句与CHECK“ch_like”约束冲突。冲突发生在数据库“EFF2017”,表“dbo.test”,列'neEdition'中。 –

+2

这意味着您的表中有违反约束条件的数据。你可以用'SELECT * FROM dbo.test WHERE neEdition'找到它''[az] [az] [0-9] [0-9] [0-9]'' –

回答

1

你的代码rextester工作。

鉴于你在做什么,我会建议的版本被宣布有5个字符:

neEdition varchar(5) 

或:

neEdition char(5) 

与该检查约束更加一致。

+0

Msg 547,Level 16,State 0,第1行ALTER TABLE语句与CHECK“ch_like”约束冲突。冲突发生在数据库“EFF2017”,表“dbo.test”,列'neEdition'中。 - –