Computer >> Máy Tính >  >> Lập trình >> MySQL

Xóa khóa duy nhất khỏi bảng MySQL?

Để xóa khóa duy nhất khỏi MySQL, hãy sử dụng lệnh DROP. Cú pháp như sau -

ALTER TABLE yourTableName DROP INDEX yourKeyName;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng với khóa duy nhất. Truy vấn để tạo bảng như sau -

mysql> create table DropIndexDemo
   −> (
   −> BookId int unique key,
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (0.88 sec)

Bây giờ bạn có thể kiểm tra tên khóa là gì với sự trợ giúp của lệnh hiển thị. Khóa duy nhất này sẽ bị xóa. Truy vấn như sau -

mysql> show index from DropIndexDemo;

Sau đây là kết quả -

+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table     | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| dropindex | 0          | BookId  | 1             | BookId      | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
1 row in set (0.17 sec)

Nhìn vào đầu ra mẫu ở trên, tên khóa của bạn là ‘BookId’. Bây giờ đây là truy vấn để xóa khóa duy nhất -

mysql> alter table DropIndex drop index BookId ;
Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0

Chúng tôi đã xóa khóa duy nhất khỏi bảng MySQL DropIndex. Cột BookId trước đây có khóa duy nhất.

Bây giờ hãy hiển thị cấu trúc bảng với sự trợ giúp của lệnh desc. Điều này sẽ không hiển thị Khóa duy nhất vì chúng tôi đã xóa nó -

mysql> desc DropIndex;

Sau đây là kết quả -

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| BookId   | int(11)      | YES  |     | NULL    |       |
| BookName | varchar(200) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Nhìn vào kết quả đầu ra mẫu ở trên, không có khóa duy nhất nào trong cột BookId.