SQL索引如何确保插入值



如果我有以下索引:

CREATE UNIQUE NONCLUSTERED INDEX IX_Contacts ON Contacts (User_ID) WHERE (IsDefault=1)

确保IsDefault已设置。

如何同时确保/要求始终设置IsDefault

你能做这样的事吗?

CREATE UNIQUE NONCLUSTERED INDEX IX_Contacts ON Contacts (User_ID) WHERE (IsDefault>1)

确保IsDefault列不允许NULL,并使用所需的默认值创建一个默认约束,当INSERT语句中未显式指定该列时,将使用该默认值。

DDL示例,猜测列数据类型和所需的默认值:

ALTER TABLE dbo.Contacts
ALTER COLUMN IsDefault bit NOT NULL;
ALTER TABLE dbo.Contacts
ADD CONSTRAINT DF_Contacts_IsDefault DEFAULT (1) FOR IsDefault;

最新更新