col1 不能与 col2 相同的 Postgres 约束

Postgres constraint where col1 cannot be identical to col2

例如,

如果 col1 代表 玩家 1, col2代表player 2,

如果两人一起玩,玩家2不能和玩家1.

我不想添加这两个玩家只能互相玩一次的约束,我只想将该约束应用于每一行。

这可以做到吗?

根据您的描述,这似乎是一个简单的检查约束:

alter table the_table
   constraint different_players
   check (player_1 <> player_2);

如果这些列可以包含 NULL 值,那么可能:

alter table the_table
   constraint different_players
   check (player_1 is distinct from player_2);