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

MySQL 오류:"Data too long for column"이란 무엇입니까?

<시간/>

해당 데이터를 저장할 수 있는 기능이 없는 열에 대해 추가 데이터를 삽입하면 "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)