Mac에서 MySQL에 빈 문자열을 NULL로 삽입


0

이상한 문제가 발생합니다. Mac에서 다음 문장을 실행하려고했습니다.

INSERT INTO table (field) VALUES ('')

여기서 field는 NULL값 을 허용하는 숫자입니다 .

우분투에 MySQL 5.5.40이 설치되어 있어이 쿼리가 잘 실행됩니다. 또한 쿼리에 실패한 Mac에 MySQL 5.5.45가 설치되어 있습니다.

오류 1366 (HY000) : 'field'열에 대해 잘못된 정수 값 : ''

Mac에 표준 MySQL 설치가 표준 값을 사용하고 my.cnf구성 파일을 사용하지 않는다는 것을 알았습니다 . my.cnf우분투 에서 검사 를 시도했지만이 옵션과 관련된 구성 옵션이 없습니다.

답변:


1

적합한 오류 메시지가 있습니다. int 열에 문자열을 삽입 할 수 없습니다. 대신 이것을 시도하십시오 :

INSERT INTO table (field) VALUES (NULL)

또는 단순

INSERT INTO table (field) VALUES ()

서버 구성에 따라 다릅니다. 내 대답을 확인하십시오. 나는 시험을했다, 그것은 작동한다.
Hubidubi

0

올바른 해결책은 my.cnf에서 엄격 모드를 사용하지 않는 것입니다.

기발한:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

수정 :

sql_mode=NO_ENGINE_SUBSTITUTION
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.