2017-09-16 18 views
0

こんにちは私は例のaa192ワード2文字と3つの数字をした後ならば、私はチェックneedd を仕事にこれをしてみてくださいではなく、SQL Serverでは制約を追加します:チェック制約

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

これは、テーブルに制約に違反するデータがあることを意味します。 '[az] [az] [0-9] [0-9] [0-9] '' –

答えて

1

あなたのコードはrextesterで動作します。

neEdition varchar(5) 

か::

neEdition char(5) 

チェック制約とより一貫性のある、あなたがやっていることを考えると

は、私は版が5つの文字を持つように宣言されることをお勧めします。

+0

メッセージ547、レベル16、状態0、またはその両方のような' SELECT * FROM dbo.test where neEdition '行1 ALTER TABLEステートメントは、CHECK "ch_like"制約と競合します。競合はデータベース "EFF2017"、テーブル "dbo.test"、列 'neEdition'で発生しました。 - –