刪除unique key(唯一約束)的兩種方法:1、使用DROP INDEX語句從指定表中刪除指定唯一約束,語法“DROP INDEX 唯一約束名 ON 表名;”。2、使用ALTER TABLE語句從指定表中刪除指定唯一約束,語法“ALTER TABLE 表名 DROP INDEX 唯一約束名;”。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
mysql 唯一約束(Unique Key)是指所有記錄中字段的值不能重復(fù)出現(xiàn)。例如,為 id 字段加上唯一性約束后,每條記錄的 id 值都是唯一的,不能出現(xiàn)重復(fù)的情況。如果其中一條記錄的 id 值為‘0001’,那么該表中就不能出現(xiàn)另一條記錄的 id 值也為‘0001’。
唯一約束與主鍵約束相似的是它們都可以確保列的唯一性。不同的是,唯一約束在一個(gè)表中可有多個(gè),并且設(shè)置唯一約束的列允許有空值,但是只能有一個(gè)空值。而主鍵約束在一個(gè)表中只能有一個(gè),且不允許有空值。比如,在用戶信息表中,為了避免表中用戶名重名,可以把用戶名設(shè)置為唯一約束。
mysql刪除unique key(唯一約束)的兩種方法
方法1、使用DROP INDEX語句刪除
DROP?INDEX?唯一約束名?ON?表名;
示例:
創(chuàng)建數(shù)據(jù)表 tb_dept,指定部門的名稱唯一
CREATE?TABLE?tb_dept( ???id?INT(11)?PRIMARY?KEY, ???name?VARCHAR(22), ???location?VARCHAR(50), ???CONSTRAINT?unique_name?UNIQUE(name) );
查看表結(jié)果
DESC?tb_dept;
刪除數(shù)據(jù)表 tb_dept 中的唯一約束 unique_name
DROP?INDEX?unique_name?ON?tb_dept;
方法2、使用ALTER TABLE語句刪除
ALTER?TABLE?表名?DROP?INDEX?唯一約束名;
示例:
在數(shù)據(jù)表 tb_dept中,指定location字段唯一,設(shè)置唯一約束名為unique_name
ALTER?TABLE?tb_dept?ADD?CONSTRAINT?unique_name?UNIQUE(location);
刪除unique_name約束
【相關(guān)推薦:mysql視頻教程】