我有一张桌子
CREATE TABLE (game, team, player, position);
如果我创建一个唯一索引,(game, player, position)
我会得到一个表,在同一场比赛中,同一名球员不能为两支球队打同一个位置。这很有用,但仍然有可能有人插入一行,其中同一名球员打两个不同的位置,每支球队一个。
是否可以编写某种唯一索引或约束,使同一名球员不可能在一场比赛中为两支球队效力?
我有一张桌子
CREATE TABLE (game, team, player, position);
如果我创建一个唯一索引,(game, player, position)
我会得到一个表,在同一场比赛中,同一名球员不能为两支球队打同一个位置。这很有用,但仍然有可能有人插入一行,其中同一名球员打两个不同的位置,每支球队一个。
是否可以编写某种唯一索引或约束,使同一名球员不可能在一场比赛中为两支球队效力?
您可以使用EXCLUDE 约束:
您需要将 != 列放在列列表的末尾,否则执行约束会变慢。