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

Xóa PRIMARY KEY và AUTO_INCREMENT khỏi cột trong MySQL

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).