2017-09-16 3 views
0

hallo ich will Einschränkung in SQL Server hinzufügen ich das versuchen, aber nicht arbeiten, ich needd überprüfen, ob ein Wort 2 char und 3 Zahlen nach Beispiel aa192:Check-Einschränkung

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

Wie funktioniert das nicht? –

+0

Msg 547, Ebene 16, Status 0, Zeile 1 Die ALTER TABLE-Anweisung steht in Konflikt mit der CHECK-Einschränkung "ch_like". Der Konflikt ist in der Datenbank "EFF2017", Tabelle "dbo.test", Spalte "neEdition" aufgetreten. –

+2

Das bedeutet, dass Sie Daten in der Tabelle haben, die Ihre Einschränkung verletzen. Sie finden es mit 'SELECT * FROM dbo.test WHERE neEdition nicht gefällt '[az] [az] [0-9] [0-9] [0-9]' ' –

Antwort

1

Sie Code in rextester funktioniert.

Anbetracht dessen, was Sie tun, würde ich empfehlen, dass die Ausgabe haben 5 Zeichen deklariert werden:

neEdition varchar(5) 

oder:

neEdition char(5) 

, die mehr im Einklang mit der Check-Bedingung ist.

+0

Msg 547, Ebene 16, Status 0, Zeile 1 Die ALTER TABLE-Anweisung steht in Konflikt mit der CHECK-Einschränkung "ch_like". Der Konflikt ist in der Datenbank "EFF2017", Tabelle "dbo.test", Spalte "neEdition" aufgetreten. - –