1. 程式人生 > 資料庫 >MySQL唯一鍵約束

MySQL唯一鍵約束

1、唯一鍵約束
特點:
(1)一個表可以有多個唯一鍵約束
(2)唯一鍵約束意味著,唯一,可以為NULL
(3)唯一鍵的約束名可以自己指定,也可以預設,
如果預設的話,一般如果單列唯一,預設就是列名,
如果是多列組合唯一,那麼預設是該組合第1列的名稱。
(4)建立唯一鍵約束,也會在對應列上建立索引。
而且刪除唯一鍵約束的方式是通過刪除對應索引來實現的。

2、唯一鍵約束也是分為兩種
(1)單列的唯一鍵
(2)多列組合的唯一鍵

3、建表時如何指定唯一鍵

create table 【資料庫名.】表名稱(
	欄位名1 資料型別  primary key,
	欄位名2 資料型別 unique key, #只適用於單列的唯一鍵
	。。。。
);

create table 【資料庫名.】表名稱(
	欄位名1 資料型別  primary key,
	欄位名2 資料型別,
	。。。。,
	unique key(欄位列) #既適用於單列,也適用於多列
);
create table books(
	bid int primary key,
	bname varchar(20) unique key,
	price double
);

insert into books values
(1,'《從入門到放棄》',100),
(2,'《從入門到放棄》',88);
ERROR 1062 (23000): Duplicate entry '《從入門到放棄》' for key 'bname' 

insert into books values
(1,'《從入門到放棄》',100),
(2,'《從入門到成功》',88);

4、建表後如何指定唯一鍵約束

alter table 【資料庫名.】表名稱 add unique key(欄位列表);
create table books(
	bid int primary key,
	bname varchar(20) ,
	price double
);
alter table books add unique key(bname);

5、刪除唯一鍵約束

alter table 【資料庫名.】表名稱 drop index 索引名;
alter table books drop index bname;

6、如何檢視某個表格的索引名

show index from 【資料庫名.】表名稱;
show index from books;