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

Thay đổi kiểu dữ liệu nhiều cột cùng lúc trong MySQL (MODIFY COLUMN)


Sử dụng ALTER TABLE ... MODIFY COLUMN lặp lại cho từng cột trong một câu lệnh để đổi kiểu dữ liệu hàng loạt.

Cú pháp

ALTER TABLE table_name
MODIFY COLUMN col1 new_data_type,
MODIFY COLUMN col2 new_data_type,
...,
MODIFY COLUMN colN new_data_type;

Ví dụ minh họa

mysql> CREATE TABLE AddColumn (
  StudentID INT,
  StudentName VARCHAR(200)
);
Query OK, 0 rows affected (0.49 sec)

Đổi cả hai cột cùng lúc: StudentName VARCHAR(200)→VARCHAR(300), StudentID INT→VARCHAR(50):

mysql> ALTER TABLE AddColumn
MODIFY COLUMN StudentName VARCHAR(300),
MODIFY COLUMN StudentId VARCHAR(50);
Query OK, 0 rows affected (1.95 sec)

Kết quả:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| StudentId   | varchar(50)  | YES  |     | NULL    |       |
| StudentName | varchar(300) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

MODIFY vs CHANGE

Đặc điểm MODIFY COLUMN CHANGE COLUMN
Đổi tên cột Không Có (new_name)
Đổi kiểu dữ liệu Có Có
Di chuyển vị trí Không Có (FIRST/AFTER)
Cú pháp Gọn nhẹ hơn Phải lặp tên cột

Lưu ý

  • Một câu ALTER TABLE gộp nhiều thay đổi hiệu quả hơn chạy nhiều câu riêng lẻ (chỉ rebuild bảng 1 lần).
  • Kiểm tra tương thích dữ liệu trước khi đổi kiểu (ví dụ: VARCHAR→INT sẽ lỗi nếu có chữ).
  • Production: dùng công cụ online schema change.