我在SQL Server语句中有这个约束。
([VehNo] like '[a-zA-Z][a-zA-Z],[a-zA-Z][0-9][0-9][0-9][0-9][a-zA-Z]')
但是当我尝试插入数据时,这给了我错误。
INSERT INTO [dbo].Car
VALUES ('SGD1234F','Ferrari','F30','2014-09-24','500000.00','500.00','excellent');
错误如下
消息547,级别16,状态0,行2 INSERT语句冲突 使用CHECK约束" vehNo_ck_validity"。冲突发生了 在数据库" t322",表" dbo.Car",列' VehNo'。该 声明已被终止。
我必须做出哪些改变?
答案 0 :(得分:3)
您的正则表达式包含不需要的逗号。我在你的正则表达式中添加了空格来突出显示逗号。
[a-zA-Z][a-zA-Z] , [a-zA-Z][0-9][0-9][0-9][0-9][a-zA-Z]
对于此类正则表达式,VehNo
应为SG,D1234F
删除额外的逗号,您的插入语句将起作用。
这是你的正则表达式的另一个版本:[a-zA-Z]{3}\d{4}[a-zA-Z]