열의 데이터 길이가 정의된 너비를 초과하는 MySQL 테이블에 데이터를 삽입하려고 하면 "오류 코드: 1406. 열에 비해 데이터가 너무 깁니다." 오류가 발생합니다.
이 점을 고려하십시오. 예:
CREATE TABLE `TEST` ( `idTEST` INT NOT NULL , `TESTcol` VARCHAR(45) NULL , PRIMARY KEY (`idTEST`) );
지정된 열 길이 내에 데이터를 삽입하면 예상대로 작동합니다.
INSERT INTO TEST VALUES ( 1, 'Vikas' );
그러나 최대 열 길이를 초과하는 데이터를 삽입하려고 하면 오류가 발생합니다.
INSERT INTO TEST VALUES ( 2, 'Vikas Kumar Gupta Kratika Shukla Kritika Shukla' );
이는 MySQL이 지정된 열보다 긴 삽입 값을 자르기 때문에 발생합니다. width.
해결책:
이 문제를 해결하려면 MySQL의 엄격 모드를 일시적으로 비활성화하십시오.
my.ini(Windows)에서 또는 my.cnf(Unix) 파일:
"sql-mode" 편집 "STRICT_TRANS_TABLES" 제거 설정:
# Set the SQL mode to strict sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
데이터베이스 관리 도구에서 SQL 쿼리 사용:
다음 쿼리를 실행하여 전역 SQL 모드를 비어 있음으로 설정 :
SET @@global.sql_mode= '';
Strict 모드를 비활성화하면 열 길이를 초과하는 데이터를 삽입할 수 있습니다. 그러나 이로 인해 데이터 잘림 및 불일치가 발생할 수 있으므로 주의하여 이 솔루션을 신중하게 사용하십시오.
위 내용은 MySQL 오류 1406 해결 방법: 열에 비해 데이터가 너무 깁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!