可以基于两个字段约束SQL行吗?

可以基于两个字段约束SQL行吗?,sql,database-design,Sql,Database Design,我正在尝试创建一个包含字段的表:Login和Alert_Code。每个登录只能有一个单独的警报代码一次。同一登录名可以有多行 例如,如果登录名“AK”有一行带有警报代码“1”,另一行带有相同的登录名“AK”和警报代码“2”,我如何确保这些警报代码不再用于该登录名 提前谢谢 这通常通过唯一约束进行处理: alter table t add constraint unq_t_login_alert_code unique (login, altert_code); 这通常使用唯一索引实现。

我正在尝试创建一个包含字段的表:Login和Alert_Code。每个登录只能有一个单独的警报代码一次。同一登录名可以有多行

例如,如果登录名“AK”有一行带有警报代码“1”,另一行带有相同的登录名“AK”和警报代码“2”,我如何确保这些警报代码不再用于该登录名


提前谢谢

这通常通过唯一约束进行处理:

alter table t add constraint unq_t_login_alert_code
    unique (login, altert_code);

这通常使用唯一索引实现。因此,创建唯一索引也有同样的效果。

您应该使用:
在表名称上创建唯一索引AK\u Some\u Name(登录,警报\u代码)您还可以在创建表时创建复合主键。这里有更多的信息