sql - 检查约束使用情况

标签 sql sql-server postgresql database-design unique-constraint

我正在尝试制定一个约束条件,使特定用户的 ID 保持唯一。
每个用户都是世界上一个独立的实体,所以 2 个人有 1 个 id 不是问题。我只是不希望一个人两次拥有相同的 ID。

例如: 这是可以接受的:

User   Id
John   1
John   2
Alice  1
Alice  2

这样不行:

User     Id
John     1
John     1  -- problem
Alice    1
Alice    2

最佳答案

只需添加一个Unique constraint在您的 CREATE TABLE 语句的两列上:

CREATE TABLE person(
   ...               -- more columns
   username text 
  ,person_id int
  <b>,UNIQUE (username, person_id)</b>
);

就是这样。我看到了 @Hamlet@Frank已经有类似的评论了。

关于sql - 检查约束使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154542/

相关文章:

sql - 查看使用 sp_prepare 准备的 SQL

sql - 使用 SQL 将数量分配给不同的桶

postgresql - 如何在 PostgreSQL 中有效地检查序列中已使用和未使用的值

postgresql - pgadmin4 查询工具总是显示消息未连接

c# - 在 C# 中匹配两个大的字符串集

c# - 使用 LINQ to SQL 简单级联删除自引用表

sql删除具有多个日期值的多条记录

MySQL在插入tbl1时创建触发器也插入到tbl2

sql - 使用通配符连接不匹配字符串

访问最新记录时 SQL 性能缓慢