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

Cột ALTER của MySQL để loại bỏ khóa chính và auto_increment?

Bạn có thể sử dụng lệnh ALTER để loại bỏ khóa chính và auto_increment. Cú pháp như sau -

ALTER TABLE yourTableName DROP PRIMARY KEY,change yourColumnName yourColumnName data type;

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

mysql> create table removePrimaryKey
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT,
   -> StudentFirstName varchar(20),
   -> StudentLastName varchar(20),
   -> PRIMARY KEY(StudentId)
   -> );
Query OK, 0 rows affected (0.47 sec)

Kiểm tra mô tả của bảng bằng lệnh DESC. Cú pháp như sau -

desc yourTableName;

Kiểm tra mô tả của bảng ‘removePrimaryKey’ bằng cách sử dụng DESC. Truy vấn như sau -

mysql> desc removePrimaryKey;

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

+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| StudentId        | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentFirstName | varchar(20) | YES  |     | NULL    |                |
| StudentLastName  | varchar(20) | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

Bây giờ hãy nhìn vào cột Key và Extra ở trên. Trong cột Key, có PRI và trong cột Extra có auto_increment. Bạn cần xóa cả hai bằng cách sử dụng lệnh ALTER DROP đã được thảo luận ở phần đầu -

Truy vấn như sau -

mysql> alter table removePrimaryKey DROP PRIMARY KEY,change StudentId StudentId int;
Query OK, 0 rows affected (1.79 sec)
Records − 0 Duplicates − 0 Warnings − 0

Chúng tôi đã xóa thành công khóa chính và số tự động ở trên. Bây giờ, bạn kiểm tra khóa chính và auto_increment đã bị xóa khỏi bảng hay không bằng cách sử dụng truy vấn sau -

mysql> desc removePrimaryKey;

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

+------------------+-------------+------+-----+---------+-------+
| Field            | Type        | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| StudentId        | int(11)     | YES  |     | NULL    |       |
| StudentFirstName | varchar(20) | YES  |     | NULL    |       |
| StudentLastName  | varchar(20) | YES  |     | NULL    |       |
+------------------+-------------+------+-----+---------+-------+
3 rows in set (0.07 sec)