将组合约束添加到数据库中 table

ADD combination constraint into a dabase table

我想在 table 中创建一个唯一的列组合,它们不能有任何重复值。

例如,我有一个 table 的 Person,其中包含姓名、年龄、地址和 phone_number。

我希望 (name, age, phone_number) 的组合必须是唯一的。

table 人包含此数据:

"Name1"|22|"adresse1"|000000

所以组合 (''Name1'' 和 22 和 000000) 必须是唯一的,但如果只有其中一个发生变化,例如 ("name2",22,000000) 它将被允许插入数据到 table.

请问我如何使用 SQL 来管理它?

如果您希望一个列或列的组合是唯一的,您可以实现唯一约束或索引(它们在功能上是等效的):

create unique index unq_t_col1_col2_col3 on t(col1, col2, col3);

对于约束:

alter table t add constraint unq_t_col1_col2_col3
    unique (col1, col2, col3);

任何尝试将值插入到已存在的列都将导致错误,任何尝试使用不同行中的值更新列也是如此。