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

MySQL 테이블의 열 크기를 수정하는 방법은 무엇입니까?

<시간/>

ALTER 명령을 사용하여 열 크기를 수정할 수 있습니다. 열 크기를 수정하는 방법을 살펴보겠습니다. 어떤 크기의 열을 정의한다고 가정합니다. 삽입 시 우리가 정의한 것보다 더 큰 사이즈를 입으면 오류가 발생합니다.

위의 문제는 크기를 수정하면서 줄일 수 있습니다. 더 많은 이해를 위해 CREATE 명령 −

을 사용하여 테이블을 만들 수 있습니다.
mysql> CREATE table ModifyColumnNameDemo
-> (
-> id int,
-> StudentName varchar(10)
-> );
Query OK, 0 rows affected (0.45 sec)

테이블을 성공적으로 생성한 후 INSERT 명령을 사용하여 테이블에 레코드를 삽입할 수 있습니다.

mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor');
ERROR 1406 (22001): Data too long for column 'StudentName' at row 1

위 쿼리에서 오류 1406이 발생합니다. 이 오류는 열을 수정하는 동안 해결할 수 있습니다. 이를 위해 ALTER 명령을 사용할 수 있습니다. 다음은 구문입니다 -

ALTER table yourTableName modify column_name;

위 쿼리를 적용하여 열의 크기를 일부 크기로 수정 -

mysql> ALTER table ModifyColumnNameDemo modify StudentName varchar(200);
Query OK, 0 rows affected (1.54 sec)
Records: 0 Duplicates: 0 Warnings: 0

그 후 'StudentName' 열 이름의 크기가 200인지 확인할 수 있습니다. 쿼리는 다음과 같습니다. −

mysql> DESC ModifyColumnNameDemo;

다음은 출력입니다 -

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
|id | int(11) | YES          |      | NULL|         |
| StudentName | varchar(200) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

위의 StudentName 열을 보면 크기가 200으로 변경되었습니다. 이제 테이블에 레코드를 삽입할 수 있으며 오류가 발생하지 않습니다. 확인해보자 -

mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor');
Query OK, 1 row affected (0.14 sec)

위의 레코드가 테이블에 성공적으로 삽입되었습니다. SELECT 명령 −

의 도움으로 위에 삽입된 레코드를 표시할 수 있습니다.
mysql> SELECT * from ModifyColumnNameDemo;

다음은 출력입니다 -

| id | StudentName |
+------+-------------+
| 1 | CarolTaylor|
+------+-------------+
1 row in set (0.00 sec)

위의 출력을 보면 컬럼의 크기를 수정한 후 레코드가 성공적으로 삽입되었습니다.