小编Ric*_*way的帖子

如何在多列上添加约束以防止重复行?

我在 Postgres 数据库中有一个现有的表,该表累积了重复值。我们已清除表并重新填充值,但希望防止再次发生重复。因此我们需要 a 来添加约束。

表名:camembert,样本数据:

| handle | id  | num   |
| ------ | --- | ----- |
| 259    | 869 | AC003 |
| 259    | 869 | AC003 |
| 259    | 869 | AC003 |
| 259    | 856 | AC005 | 
| 259    | 856 | AC005 |
| 259    | 856 | AC005 |
etc.
Run Code Online (Sandbox Code Playgroud)

下面是这个问题的一个例子(我们实际上有所有东西的三份)

该约束应允许前两列具有重复值,但是,第三列是使该行唯一的区别因素。例如,当表被正确填充后,它看起来如下:

| handle | id    | num   |
| ------ | ----- | ----- …
Run Code Online (Sandbox Code Playgroud)

sql postgresql database-design unique-constraint

2
推荐指数
1
解决办法
4444
查看次数