Để thay đổi kiểu dữ liệu của nhiều cột trong một truy vấn MySQL duy nhất, cú pháp như sau:
ALTER TABLE ten_bang_cua_ban MODIFY COLUMN ten_cot_1 kieu_du_lieu_1, MODIFY COLUMN ten_cot_2 kieu_du_lieu_2, ... N;
Trước tiên, hãy tạo một bảng:
mysql> CREATE TABLE DemoTable (
Id VARCHAR(100),
FirstName TEXT,
LastName TEXT
); Query OK, 0 rows affected (0.52 sec)
Kiểm tra cấu trúc bảng:
mysql> DESC DemoTable;
Kết quả:
+-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | Id | varchar(100) | YES | | NULL | | | FirstName | text | YES | | NULL | | | LastName | text | YES | | NULL | | +-----------+--------------+------+-----+---------+-------+ 3 rows in set (0.09 sec)
Truy vấn để thay đổi kiểu dữ liệu của các cột Id, FirstName và LastName:
mysql> ALTER TABLE DemoTable MODIFY COLUMN Id INT, MODIFY COLUMN FirstName VARCHAR(50), MODIFY COLUMN LastName VARCHAR(50); Query OK, 0 rows affected (1.63 sec) Records: 0 Duplicates: 0 Warnings: 0
Kiểm tra lại cấu trúc bảng:
mysql> DESC DemoTable;
Kết quả sau khi thay đổi:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | FirstName | varchar(50) | YES | | NULL | | | LastName | varchar(50) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)