如何為現有表(帶非唯一行)新增唯一鍵?
藉助 alter 命令,你可以為現有表新增唯一鍵。語法如下 −
ALTER TABLE yourTableName ADD CONSTRAINT yourConstraintName UNIQUE(yourColumnName1,yourColumnName2,............N);
為了理解上述概念,讓我們建立一個包含一些列的表。建立表的查詢 −
mysql> create table MovieCollectionDemo −> ( −> MovieId int, −> MovieDirectorName varchar(200), −> NumberOfSongs int unsigned −> ); Query OK, 0 rows affected (0.62 sec)
現在,你可以檢查該表是否具有任何唯一約束。檢查唯一約束的查詢如下 −
mysql> desc MovieCollectionDemo;
以下是輸出 −
+-------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+------------------+------+-----+---------+-------+ | MovieId | int(11) | YES | | NULL | | | MovieDirectorName | varchar(200) | YES | | NULL | | | NumberOfSongs | int(10) unsigned | YES | | NULL | | +-------------------+------------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
現在,你可以根據上述語法新增唯一鍵。我們正在為 MovieId 列新增唯一鍵。查詢如下 −
mysql> alter table MovieCollectionDemo add constraint uni_moviecollectio unique(MovieId); Query OK, 0 rows affected (0.46 sec) Records: 0 Duplicates: 0 Warnings: 0
讓我們檢視整個表和列 MovieId,以檢查它是否有唯一鍵。
mysql> desc MovieCollectionDemo;
以下是輸出 −
+-------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+------------------+------+-----+---------+-------+ | MovieId | int(11) | YES | UNI | NULL | | | MovieDirectorName | varchar(200) | YES | | NULL | | | NumberOfSongs | int(10) unsigned | YES | | NULL | | +-------------------+------------------+------+-----+---------+-------+ 3 rows in set (0.02 sec)
上述輸出顯示“UNI”,這意味著“MovieId”欄位具有唯一鍵。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP