14.4 UNIQUE 约束
MySQL UNIQUE约束简介
CREATE TABLE table_1(
column_name_1 data_type UNIQUE,
);CREATE TABLE table_1(
...
column_name_1 data_type,
...
UNIQUE(column_name_1)
);管理MySQL UNIQUE约束


Last updated
CREATE TABLE table_1(
column_name_1 data_type UNIQUE,
);CREATE TABLE table_1(
...
column_name_1 data_type,
...
UNIQUE(column_name_1)
);

Last updated
CREATE TABLE table_1(
...
column_name_1 data_type,
column_name_2 data type,
...
UNIQUE(column_name_1,column_name_2)
);CREATE TABLE table_1(
...
column_name_1 data_type,
column_name_2 data type,
...
CONSTRAINT constraint_name UNIQUE(column_name_1,column_name_2)
);USE testdb;
CREATE TABLE IF NOT EXISTS suppliers (
supplier_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
phone VARCHAR(16) NOT NULL UNIQUE,
address VARCHAR(255) NOT NULL,
CONSTRAINT uc_name_address UNIQUE (name , address)
);INSERT INTO suppliers(name, phone, address)
VALUES('ABC Inc', '13800138000','4000 North 1st Street, San Jose, CA, USA');INSERT INTO suppliers(name, phone, address)
VALUES('XYZ Corporation', '13800138000','4001 North 1st Street, San Jose, CA, USA');Error Code: 1062. Duplicate entry '13800138000' for key 'phone'INSERT INTO suppliers(name, phone, address)
VALUES('XYZ Corporation', '13800138111','400 North 1st Street, San Jose, CA, USA');INSERT INTO suppliers(name, phone, address)
VALUES('XYZ Corporation', '13800138222','400 North 1st Street, San Jose, CA, USA');1062 - Duplicate entry 'XYZ Corporation-400 North 1st Street, San Jose, CA, USA' for key 'uc_name_address'SHOW INDEX FROM testdb.suppliers;DROP INDEX index_name ON table_name;ALTER TABLE table_name
DROP INDEX index_name;DROP INDEX uc_name_address ON suppliers;SHOW INDEX FROM testdb.suppliers;ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_list);ALTER TABLE suppliers
ADD CONSTRAINT uc_name_address UNIQUE (name,address);