Bạn có thể sử dụng lệnh ALTER để chuyển đổi Integer thành Varchar. Đầu tiên chúng ta hãy tạo một bảng
mysql> create table DemoTable ( UserId int, UserFirstName varchar(20), UserLastName varchar(20), UserAge int ); Query OK, 0 rows affected (0.73 sec)
Bây giờ hãy kiểm tra mô tả của bảng bằng lệnh DESC:
mysql> desc DemoTable;
Điều này sẽ tạo ra kết quả sau -
+---------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserFirstName | varchar(20) | YES | | NULL | | | UserLastName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | +---------------+-------------+------+-----+---------+-------+ 4 rows in set (0.17 sec)
Bây giờ bạn có thể thay đổi kiểu dữ liệu số nguyên thành varchar mà không làm mất dữ liệu:
mysql> alter table DemoTable change UserId UserId varchar(20); Query OK, 0 rows affected (1.35 sec) Records: 0 Duplicates: 0 Warnings: 0
Kiểm tra mô tả bảng:
mysql> desc DemoTable;
Điều này sẽ tạo ra kết quả sau -
+---------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+-------+ | UserId | varchar(20) | YES | | NULL | | | UserFirstName | varchar(20) | YES | | NULL | | | UserLastName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | +---------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)