Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách xóa khóa duy nhất (UNIQUE KEY) khỏi bảng MySQL

Sử dụng ALTER TABLE ... DROP INDEX để xóa khóa duy nhất. Cú pháp:

ALTER TABLE ten_bang DROP INDEX ten_khoa;

Ví dụ: tạo bảng có khóa duy nhất:

mysql> CREATE TABLE DropIndexDemo (
    -> BookId INT UNIQUE KEY,
    -> BookName VARCHAR(200)
    -> );

Kiểm tra tên khóa:

mysql> SHOW INDEX FROM DropIndexDemo;
+-----------+------------+----------+--------------+-------------+-----------+
| Table     | Non_unique | Key_name | Seq_in_index | Column_name | Collation |
+-----------+------------+----------+--------------+-------------+-----------+
| dropindex | 0          | BookId   | 1            | BookId      | A         |
+-----------+------------+----------+--------------+-------------+-----------+

Tên khóa là BookId. Xóa khóa:

mysql> ALTER TABLE DropIndexDemo DROP INDEX BookId;

Kiểm tra lại cấu trúc:

mysql> DESC DropIndexDemo;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| BookId   | int(11)      | YES  |     | NULL    |       |
| BookName | varchar(200) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

Cột BookId không còn hiển thị UNI ở cột Key. Khóa duy nhất đã bị xóa.