기본값으로 표시된 하나의 레코드에 대한 제약 조건
테이블에 제약 조건 중 하나만 설정하려면 어떻게 해야 합니까? 레코드에는 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인지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!