首頁 > 資料庫 > mysql教程 > 我們如何從MySQL表中刪除唯一約束?

我們如何從MySQL表中刪除唯一約束?

WBOY
發布: 2023-08-24 19:25:05
轉載
3472 人瀏覽過

我們如何從MySQL表中刪除唯一約束?

要從MySQL表中刪除UNIQUE約束,首先,我們必須檢查表上UNIQUE約束所建立的索引的名稱。我們知道SHOW INDEX語句用於此目的。 SHOW INDEX語句的結果集中的'key_name'包含索引的名稱。現在,可以使用DROP INDEX語句或ALTER TABLE語句來刪除UNIQUE約束。兩個語句的語法如下:

Syntax

DROP INDEX index_name ON table_name;
OR
ALTER TABLE table_name DROP INDEX index_name;
登入後複製

範例

#假設我們有一個名為'empl'的表,該表在列'empno'上有一個唯一約束。可以透過以下方式檢查索引名稱−

mysql> Show Index from empl\G
*************************** 1. row ***************************
Table: empl
Non_unique: 0
Key_name: empno
Seq_in_index: 1
Column_name: empno
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.02 sec)
登入後複製

現在,如果要刪除唯一約束,我們可以編寫以下查詢−

mysql> ALTER TABLE empl DROP INDEX empno;
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0
登入後複製

以下查詢的結果集將顯示列'empno'上沒有唯一約束−

mysql> describe empl;

+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| empno | int(11) | YES | | NULL | |
| F_name | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)
登入後複製

即使我們執行從empl查詢中顯示索引,MySQL也會傳回一個空集,如下所示−

mysql> Show index from empl;
Empty set (0.00 sec)
登入後複製

使用DROP INDEX語句可以從'empl'表中刪除UNIQUE約束,如下所示:

mysql> DROP INDEX empno on empl;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0
登入後複製
####

以上是我們如何從MySQL表中刪除唯一約束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板