確保只有一條帶有'isDefault' 標誌的記錄
在資料庫表中,您可能想要限制數據,以便每個記錄只能包含一筆記錄定義的群組可以將特定的「isDefault」標誌設為1。這帶來了挑戰,因為約束不是表範圍的,而是應用於子集由唯一 ID 標識的行。
解決方案:利用唯一篩選索引
現代 SQL Server 版本(2008 及更高版本)提供了使用唯一篩選索引的解決方案。透過建立這樣的索引,您可以對指定行集的「isDefault」欄位強制實施約束。
索引建立語法
對於定義為的表如下:
您可以使用以下命令建立唯一的過濾索引語法:
當嘗試插入具有相同FormID 且「isDefault」設定為 1的多筆記錄時,此索引將防止重複鍵違規。例如:
建立通過此索引,您可以有效確保每個 FormID 集中只有一筆記錄可以將「isDefault」標誌設為 1,從而保持所需的資料完整性。
以上是如何確保 SQL Server 中只有一筆記錄的「isDefault」標誌設定為 1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!