デフォルトとしてマークされた 1 つのレコードのみに対する制約
テーブルに制約を設定して、レコードの isDefault ビット フィールドは次のように設定されています。 1?
解決策: 一意のフィルター インデックスの使用
SQL Server 2008 以降では、一意のフィルター インデックスを使用できます。
CREATE UNIQUE INDEX IX_TableName_FormID_isDefault ON TableName(FormID) WHERE isDefault = 1
テーブルは次のように定義されています
CREATE TABLE TableName( FormID INT NOT NULL, isDefault BIT NOT NULL )
同じ FormID と isDefault を 1 に設定して複数の行を挿入すると、次のエラーが発生します:
Cannot insert duplicate key row in object 'dbo.TableName' with unique index 'IX_TableName_FormID_isDefault'. The duplicate key value is (1).
以上がSQL Server テーブルで isDefault = 1 を持つレコードが 1 つだけであることを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。