DBAtlas · 데이터베이스 운영 아틀라스

1231: Variable can't be set to the value of ... (변수를 해당 값으로 설정할 수 없음)

MySQL

의미

시스템/세션 변수에(SET으로) 대입하는 값이 유효하지 않다. 허용 집합을 벗어나거나, 타입이 잘못되었거나, 형식이 부적합해 값이 거부되었다.

원인

흔한 예: sql_mode에 유효하지 않거나 철자가 틀린 모드 이름을 대입하거나, enum 변수에 정의되지 않은 옵션을 지정하거나, NULL을 받지 않는 변수에 NULL을 대입한 경우다. 단위/범위가 잘못된 숫자 값도 원인이 될 수 있다.

해결 방법

변수가 받는 유효한 값과 타입을 확인한다. ENUM/SET 타입 변수(예: SET 타입인 sql_mode)는 값/모드 이름을 정확히 쓰고 여러 값은 쉼표로 구분한다. 문서에서 유효한 값 범위를 확인한다. sql_mode 같은 목록은 현재 값(SELECT @@sql_mode)을 읽고 그 위에 항목을 안전하게 추가/제거한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목