注册

MySQL唯一约束(UNIQUE KEY)详解

MySQL的唯一约束是一种用于确保表中某一列的每个值都是唯一的约束。它可以应用于单个列或多个列,以确保每个组合值都是唯一的。

在MySQL中,可以使用UNIQUE关键字定义唯一约束。以下是使用唯一约束的语法:

CREATE TABLE table_name (
    column1 datatype UNIQUE,
    column2 datatype,
    ...
);

在上述语法中,column1是需要设置唯一约束的列。

下面是一些示例,说明如何使用MySQL的唯一约束:

示例1:

假设我们有一个员工表格,我们希望员工的电子邮件地址是唯一的。

CREATE TABLE employees (
  id INT PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50) NOT NULL,
   email VARCHAR(50) UNIQUE NOT NULL
);

在上面的例子中,我们将电子邮件列定义为具有唯一约束的列。这样,当我们向员工表中插入行时,如果电子邮件地址已经存在,则会返回错误。

示例2:

假设我们有一个订单表,并且我们希望确保每个订单编号和顾客ID的组合是唯一的。

CREATE TABLE orders (
  id INT PRIMARY KEY AUTO_INCREMENT,
  order_number VARCHAR(20),
  customer_id INT,
  UNIQUE(order_number, customer_id)
);

在上面的例子中,我们使用UNIQUE关键字来定义具有两个列的唯一约束。这将确保订单编号和顾客ID的组合是唯一的。如果任何一方相同而另一方不同,也会返回错误。