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.