해당 데이터를 저장할 수 있는 기능이 없는 열에 대해 추가 데이터를 삽입하면 "Data too long for column" 오류가 발생합니다.
예를 들어 - 데이터 유형이 varchar(6)인 경우 이는 6자만 저장함을 의미합니다. 따라서 6자 이상 입력하면 오류가 발생합니다.
오류를 이해하기 위해 표를 만들어 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table DataToolongDemo −> ( −> Name varchar(10) −> ); Query OK, 0 rows affected (0.55 sec)
위에서 테이블을 성공적으로 생성했습니다. "varchar(10)"으로 "Name" 필드를 설정했습니다. 이제 10자 이상을 입력하면 오류가 발생합니다.
오류는 다음과 같습니다 -
mysql> insert into DataToolongDemo values('Carol Taylor'); ERROR 1406 (22001): Data too long for column 'Name' at row 1
위의 오류를 수정하기 위해 type을 longtext로 설정할 수 있습니다. 현재 유형이 "varchar"이므로 유형을 longtext로 변경하는 쿼리는 다음과 같습니다. -
mysql> alter table DataToolongDemo change Name Name longtext; Query OK, 0 rows affected (2.22 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 동일한 레코드를 삽입하면 오류가 생성되지 않습니다. −
mysql> insert into DataToolongDemo values('Carol Taylor'); Query OK, 1 row affected (0.11 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from DataToolongDemo;
다음은 출력입니다 -
+--------------+ | Name | +--------------+ | Carol Taylor | +--------------+ 1 row in set (0.00 sec)