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)