본문 바로가기
MySql

MySQL 오류 코드 : 1406. 데이터가 너무 깁니다.-MySQL

by 베이스 공부 2021. 1. 5.
반응형

오류 코드 : 1406. 데이터가 열에 너무 깁니다.

CREATE  TABLE `TEST` 
(

  `idTEST` INT NOT NULL ,

  `TESTcol` VARCHAR(45) NULL ,

  PRIMARY KEY (`idTEST`) 
);

이제 일부 값을 삽입 합니다.

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
)

select 

SELECT * FROM TEST;

길이 보다 많은 레코드 삽입

INSERT INTO TEST
VALUES
(
    2,
    'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
)

길이 선택 하면

SELECT LENGTH('Vikas Kumar Gupta Kratika Shukla Kritika Shukla')

 '47'

그리고 그것은 오류 메시지를 보여줍니다

오류 코드 : 1406. 열에 비해 데이터가 너무 깁니다.

하지만 내 기대는 표에 적어도 처음 45자를 삽입하고 싶습니다.

질문이 명확하지 않은 경우 알려주십시오.

이 오류의 원인을 알고 있습니다. 데이터 유형의 길이보다 더 많은 값을 삽입하려고합니다.

MS SQL 에서 가능하므로 MySQL의 솔루션을 원합니다. 그래서 MySQL 에도 있기를 바랍니다.

 

해결 방법

 

MySQL은 지정된 열 너비를 초과하는 삽입 값을 자릅니다.

오류없이이 작업을 수행하려면 STRICT 를 사용하지 않도록 SQL 모드 를 전환하십시오.


모드를 변경하려면

이는 두 가지 방법으로 수행 할 수 있습니다.

찾기:

암호:

# Set the SQL mode to strict 
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

다음으로 교체 :

암호:

# Set the SQL mode to strict 
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

또는

암호:

SET @@global.sql_mode= '';

 

참조 페이지 https://stackoverflow.com/questions/15949038

 

 

반응형

댓글