推荐答案
在 SQL 中,可以通过以下两种方式添加唯一约束:
在创建表时添加唯一约束:
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... UNIQUE (column1) );
在已有表上添加唯一约束:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1);
本题详细解读
1. 在创建表时添加唯一约束
在创建表时,可以直接在列定义后使用 UNIQUE
关键字来指定某一列或某几列的值必须唯一。例如:
CREATE TABLE Employees ( EmployeeID int PRIMARY KEY, Email varchar(255) UNIQUE, PhoneNumber varchar(15) );
在这个例子中,Email
列被设置为唯一约束,这意味着表中不能有两行具有相同的 Email
值。
2. 在已有表上添加唯一约束
如果表已经存在,可以使用 ALTER TABLE
语句来添加唯一约束。例如:
ALTER TABLE Employees ADD CONSTRAINT UQ_Employee_Email UNIQUE (Email);
在这个例子中,UQ_Employee_Email
是约束的名称,Email
列被设置为唯一约束。如果尝试插入或更新数据时违反了唯一约束,SQL 将抛出错误。
3. 复合唯一约束
唯一约束不仅可以应用于单列,还可以应用于多列的组合。例如:
CREATE TABLE Orders ( OrderID int PRIMARY KEY, CustomerID int, OrderDate date, UNIQUE (CustomerID, OrderDate) );
在这个例子中,CustomerID
和 OrderDate
的组合必须是唯一的,这意味着同一个客户在同一天不能有多个订单。
4. 删除唯一约束
如果需要删除唯一约束,可以使用以下 SQL 语句:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
例如:
ALTER TABLE Employees DROP CONSTRAINT UQ_Employee_Email;
这将删除 Employees
表上的 UQ_Employee_Email
唯一约束。