联合唯一索引,顾名思义,是由多个列组成的唯一索引,确保多个列的值在数据库表中唯一。
有时候,单独一个索引并不能满足数据库表的唯一性要求,需要在多个列上建立联合唯一索引。例如,一个用户表需要保证账户名和邮箱地址的唯一性,那么就需要在这两个列上建立联合唯一索引。
在MySQL中,建立联合唯一索引只需要在CREATE TABLE或ALTER TABLE语句中使用UNIQUE关键字。例如:
CREATE TABLE user (id INT PRIMARY KEY,username VARCHAR(50),email VARCHAR(50),UNIQUE(username, email));
或者:
ALTER TABLE user ADD UNIQUE(username, email);
在使用联合唯一索引进行查询时,需要在WHERE语句中同时指定多个列的值,例如:
SELECT * FROM user WHERE username='john' AND email='john@example.com';
此时,MySQL将使用联合唯一索引快速定位到指定记录。
联合唯一索引是MySQL中重要的索引类型,能够帮助我们保证数据库表中多个列的值的唯一性,提高查询效率。