3

たとえば、「性別」フィールドがあり、男性、女性、またはユニセックスの値のみを許可したいとします。これは SQL サーバー管理スタジオで可能ですか?

更新:これまでの解決策は、目的の列を右クリックして見つけることができる「制約のチェック」機能を指しています。

それでも、構文エラーが発生します。制約を入力する方法について何か考えはありますか?

回答: このように入力する必要があったことがわかりました

Gender = 'Male' OR Gender = 'Female' OR Gender = 'Unisex'
4

2 に答える 2

4

ENUMMySQL とは異なり、MSSQL にはデータ型がありません。これを行う唯一の方法は、アプリケーション レベルで値をトラップすることです。またはCHECK制約を使用して

ColumnName varchar(10) 
CHECK(ColumnName IN ('Male', 'Female', 'Unisex')) 
DEFAULT 'Unisex'
于 2012-09-22T10:12:50.937 に答える
2

次のことができます: - 別のテーブルを作成し、プライマリ テーブルから性別への 1 対多の関係を作成します。- 次のような制約を作成します。

CREATE TABLE Person
(
   Id int NOT NULL,
   Gender varchar(200)
   CONSTRAINT chk_Gender CHECK (Gender IN ('Male', 'Unisex', 'Female'))
)
于 2012-09-22T10:15:56.353 に答える