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

Thêm cột và index cùng lúc với ALTER TABLE trong MySQL

Câu lệnh ALTER TABLE cho phép thêm nhiều mệnh đề ADD trong một lần: thêm cột mới và tạo index cho cột đó.

Ví dụ minh họa

Tạo bảng ban đầu:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT,
    Name VARCHAR(100),
    PRIMARY KEY(Id)
);

Kiểm tra cấu trúc:

mysql> DESC DemoTable;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| Id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Thêm cột ArrivalDate (mặc định NOW) và index cho nó:

mysql> ALTER TABLE DemoTable
    -> ADD ArrivalDate DATETIME DEFAULT CURRENT_TIMESTAMP,
    -> ADD INDEX(ArrivalDate);

Kiểm tra lại:

mysql> DESC DemoTable;

Kết quả

+-------------+--------------+------+-----+-------------------+----------------+
| Field       | Type         | Null | Key | Default           | Extra          |
+-------------+--------------+------+-----+-------------------+----------------+
| Id          | int(11)      | NO   | PRI | NULL              | auto_increment |
| Name        | varchar(100) | YES  |     | NULL              |                |
| ArrivalDate | datetime     | YES  | MUL | CURRENT_TIMESTAMP |                |
+-------------+--------------+------+-----+-------------------+----------------+

Lưu ý: Key = MUL chỉ có index (không unique). Dùng ADD UNIQUE INDEX hoặc ADD PRIMARY KEY nếu cần ràng buộc duy nhất.