在SQL中,可以通过以下几种方式为列添加唯一约束(UNIQUE constraint),以确保该列中的所有值都是唯一的。
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型 UNIQUE,
...
);
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...,
UNIQUE (列名)
);
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...,
CONSTRAINT 约束名 UNIQUE (列名)
);
ALTER TABLE 表名
ADD UNIQUE (列名);
ALTER TABLE 表名
ADD CONSTRAINT 约束名 UNIQUE (列名);
ALTER TABLE 表名
ADD CONSTRAINT 约束名 UNIQUE (列1, 列2);
-- 创建表时添加唯一约束
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50) UNIQUE,
email VARCHAR(100),
CONSTRAINT uq_email UNIQUE (email)
);
-- 修改现有表添加唯一约束
ALTER TABLE products
ADD CONSTRAINT uq_product_code UNIQUE (product_code);
-- 添加复合唯一约束
ALTER TABLE orders
ADD CONSTRAINT uq_customer_product UNIQUE (customer_id, product_id);
如需删除唯一约束,语法因数据库系统而异:
- MySQL: ALTER TABLE 表名 DROP INDEX 约束名;
- SQL Server/Oracle: ALTER TABLE 表名 DROP CONSTRAINT 约束名;