2026-10-23 09:02:00
在MySQL中创建唯一索引是确保数据唯一性的有效方法,以下是具体实现方式及代码示例:
一、唯一索引的核心作用唯一索引通过强制列值唯一性约束,防止重复数据插入。当尝试插入或更新导致重复值时,MySQL会直接报错(错误代码1062)。
二、创建唯一索引的两种方法1. 建表时直接定义CREATE TABLE user ( id INT PRIMARY KEY, username VARCHAR(50), email VARCHAR(50) UNIQUE, -- 单列唯一索引 phone VARCHAR(20), UNIQUE KEY idx_phone (phone) -- 命名唯一索引);关键点:
多列组合索引特点:
唯一索引允许存储多个NULL值(因为NULL不等于NULL),如需禁止NULL需额外添加NOT NULL约束:
CREATE TABLE product ( id INT PRIMARY KEY, code VARCHAR(20) NOT NULL UNIQUE -- 既不允许重复也不允许NULL);2. 删除唯一索引-- 通过索引名删除(推荐)ALTER TABLE user DROP INDEX uk_name_phone;-- 通过列名删除(仅适用于匿名索引)ALTER TABLE user DROP INDEX email;四、最佳实践建议通过合理使用唯一索引,可以有效维护数据完整性,特别适用于用户名、邮箱、身份证号等需要唯一标识的字段。