温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

唯一约束能建多个吗

发布时间:2026-10-17 13:38:34 来源:亿速云 阅读:89 作者:小樊 栏目:数据库

可以的,唯一约束(UNIQUE constraint)在一张表中是可以建多个的。

简单说明

  • 唯一约束的作用是:保证某一列或某几列的组合值不重复
  • 一张表可以:
    • 对多个不同的列分别建唯一约束
    • 对一个多列组合建一个唯一约束(复合唯一约束)

举个例子(以常见数据库为例)

1️⃣ 多个单列唯一约束

CREATE TABLE user (
    id INT PRIMARY KEY,
    username VARCHAR(50) UNIQUE,
    email VARCHAR(100) UNIQUE
);
  • username 不能重复
  • email 也不能重复
  • 这是两个唯一约束

2️⃣ 复合唯一约束(多列组合唯一)

CREATE TABLE score (
    student_id INT,
    course_id INT,
    score INT,
    UNIQUE (student_id, course_id)
);
  • 同一个学生不能选同一门课两次
  • 但 student_id 或 course_id 单独可以重复

和主键的区别

  • 主键(PRIMARY KEY):一张表只能有 1 个
  • 唯一约束(UNIQUE):可以有 多个
  • 唯一约束允许 NULL(不同数据库对 NULL 的处理略有差异)

总结

✅ 唯一约束可以建多个
✅ 可以单列,也可以多列组合
❌ 主键只能有一个

如果你说的是某个具体数据库(MySQL / PostgreSQL / Oracle / SQL Server),我也可以给你对应写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手