我有一个有 10 列的表,但只关心 3 列。想象一下我的桌子是这样的:
CREATE TABLE MyTable ( RowID int IDENTITY(1,1), UserID int, NodeID int, RoleID int )
我需要的是一个强制执行以下内容的约束:对于每个 NodeID,UserID 和 RoleID 需要是唯一的(即,用户不能在多个节点中具有相同的角色)。换句话说,我想允许
INSERT MyTable (UserID, NodeID, RoleID) SELECT 1, 1, 1
但不允许
INSERT MyTable (UserID, NodeID, RoleID) SELECT 1, 2, 1
如果第一次插入已经发生,因为这将导致用户在多个节点中具有角色。
希望这很简单,我只是让它比我大脑中需要的更复杂。