如何在 MySQL 中創建表唯一約束?唯一約束用于保證在一個表中的某個或某些列的值是唯一的。
CREATE TABLE student (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT(11) NOT NULL,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (email)
);
在上述代碼中,我們使用了UNIQUE KEY
關鍵字來創建唯一約束。
當我們試圖插入一個已經存在的值時,MySQL 將拋出一個錯誤。
INSERT INTO student (name, age, email) VALUES ('Tom', 20, 'tom@example.com');
-- ERROR: Duplicate entry 'tom@example.com' for key 'email'
有時候我們也可以為多個列創建聯合唯一約束。
CREATE TABLE people (
id INT(11) NOT NULL AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (first_name, last_name)
);
在上述代碼中,我們使用了UNIQUE KEY
關鍵字來創建聯合唯一約束。
當我們試圖插入一個已經存在的聯合值時,MySQL 將拋出一個錯誤。
INSERT INTO people (first_name, last_name, email) VALUES ('Tom', 'Smith', 'tom@example.com');
-- ERROR: Duplicate entry 'Tom-Smith' for key 'first_name_last_name'
創建唯一約束的優點是保證我們的數據唯一性,防止數據重復。
上一篇0點 mysql