在 MySQL 中,UNIQUE 约束是用来保证数据表中的每一行的某一列(或几列)的值都是唯一的。也就是说,不能有任何两行具有相同的值。如果在插入或更新数据时发现有重复值,MySQL 就会抛出一个错误,并且这条语句就不会被执行。
UNIQUE 约束常常与主键(PRIMARY KEY)约束一起使用。主键约束也是用来保证数据表中的每一行的某一列(或几列)的值都是唯一的,但是主键约束会在数据表中自动创建一个索引,而 UNIQUE 约束则不会。
使用 UNIQUE 约束的语法如下:
CREATE TABLE table_name (
column1 datatype UNIQUE,
column2 datatype,
...
);
或者:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ...);
例如,如果你想要保证一个名为 "users" 的数据表中的 "email" 列的值都是唯一的,你可以这样做:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255) UNIQUE,
password VARCHAR(255)
);
或者:
ALTER TABLE users ADD CONSTRAINT uq_users_email UNIQUE (email);
这样,当你试图插入或更新数据时,如果发现有重复的 email 值,MySQL 就会抛出一个错误。