首页 > 解决方案 > 您可以基于两个字段来约束 SQL 行吗?

问题描述

我正在尝试制作一个包含以下字段的表:登录和警报代码。每个登录名应该只能有一个单独的 Alert_Code 一次。可以有多个具有相同登录名的行。

例如,如果登录“AK”有一行带有 Alert_Code “1”,而另一行带有相同的登录“AK”和 Alert_Code “2”,我如何确保这些 Alert_Codes 不再用于该登录?

提前致谢!

标签: sqldatabase-design

解决方案


这通常通过唯一约束来处理:

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

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


推荐阅读