Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 데이터를 잃지 않고 Integer 필드를 Varchar로 변환하는 방법이 있습니까?

<시간/>

ALTER 명령을 사용하여 Integer를 Varchar로 변환할 수 있습니다. 먼저 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
   UserId int,
   UserFirstName varchar(20),
   UserLastName varchar(20),
   UserAge int
);
Query OK, 0 rows affected (0.73 sec)

이제 DESC 명령을 사용하여 테이블 설명을 확인하십시오.

mysql> desc DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+---------------+-------------+------+-----+---------+-------+
| 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)

이제 데이터 손실 없이 정수 데이터 유형을 varchar로 변경할 수 있습니다.

mysql> alter table DemoTable change UserId UserId varchar(20);
Query OK, 0 rows affected (1.35 sec)
Records: 0 Duplicates: 0 Warnings: 0

표 설명 확인:

mysql> desc DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+---------------+-------------+------+-----+---------+-------+
| 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)