Dùng ALTER TABLE ... DROP PRIMARY KEY, CHANGE ... để bỏ khóa chính và tự động tăng cùng lúc.
Cú pháp
ALTER TABLE ten_bang
DROP PRIMARY KEY,
CHANGE ten_cot ten_cot kieu_du_lieu;
Giải thích: CHANGE bắt buộc viết lại tên cột và kiểu dữ liệu; việc này loại bỏ thuộc tính AUTO_INCREMENT.
Ví dụ minh họa
Tạo bảng removePrimaryKey:
CREATE TABLE removePrimaryKey (
StudentId INT NOT NULL AUTO_INCREMENT,
StudentFirstName VARCHAR(20),
StudentLastName VARCHAR(20),
PRIMARY KEY (StudentId)
);
Kiểm tra cấu trúc (DESC):
+------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentLastName | varchar(20) | YES | | NULL | |
+------------------+-------------+------+-----+---------+----------------+
Xóa PK và AUTO_INCREMENT
ALTER TABLE removePrimaryKey
DROP PRIMARY KEY,
CHANGE StudentId StudentId INT;
Kiểm tra lại:
+------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| StudentId | int(11) | YES | | NULL | |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentLastName | varchar(20) | YES | | NULL | |
+------------------+-------------+------+-----+---------+-------+
Cột StudentId giờ: Null = YES, Key = (rỗng), Extra = (rỗng).