2009-07-24 12 views
7

私は列の1つが1から5の値を持つべきであるデータベースにテーブルを持っています。この制限をデータベースに書き込むにはどうしたらいいですか?私は制約を使用していますか?この種のことについてベストプラクティスとは何でしょうか?データベース列の許容値を1〜5に制限するにはどうすればよいですか?

私はあなたが、あなたのテーブルに制約を追加する必要があるSQL Server 2005の

答えて

16

を使用していますが1という名前の、より良い:

はあなたのCREATE TABLE文で
ALTER TABLE YourSchema.YourTable ADD CONSTRAINT CHK_YourTable_YourColumn_ValidLimits 
CHECK(YourColumn BETWEEN 1 AND 5) 

、次の操作を行います。

CREATE TABLE YourSchema.YourTable(YourColumn INT NOT NULL CONSTRAINT CHK_YourTable_YourColumn_ValidLimits 
CHECK(YourColumn BETWEEN 1 AND 5), 
SomeOtherColumns VARCHAR(10) 
); 

ベストプラクティスは、制約に明示的に名前を付けることです。

+0

あなたはそれに私を打ち負かします! – akf

+0

ありがとう、あなたはテーブルを定義していた場合、どのように見えるでしょうか? CREATE TABLEを.... – MedicineMan

+0

私はそれをコーディング:エンドポイントが含まれている場合** MYCOLUMN> = 1、MYCOLUMNは、<= 5)**ので、混乱はないだろうか –

4

あなたは、テーブルの作成時にこれを追加したい場合は、次のように、あなたがそれを行うことができ...

create table MyTable 
    (MyColumn tinyint CONSTRAINT MyColumn_CheckLimit CHECK (MyColumn BETWEEN 1 AND 5)) 
関連する問題