> 데이터 베이스 > MySQL 튜토리얼 > mysql5.7에서 오류 1055를 보고하면 어떻게 해야 합니까?

mysql5.7에서 오류 1055를 보고하면 어떻게 해야 합니까?

藏色散人
풀어 주다: 2020-10-26 15:31:35
원래의
2862명이 탐색했습니다.

mysql5.7의 오류 1055에 대한 해결 방법: 먼저 my.cnf 구성 파일을 찾아서 연 다음 "only_full_group_by" 항목을 삭제하거나 mysql 명령줄을 열고 "select @@sql_mode" 명령을 실행하세요.

mysql5.7에서 오류 1055를 보고하면 어떻게 해야 합니까?

권장: "mysql tutorial"

mysql5.7 오류 1055

MySQL5.7 그룹의 새로운 기능, 오류 1055

MySQL은 원래 프로젝트 5.6 개발에 사용되었습니다. , 이후 5.7로 전환하면서 갑자기 원래 SQL 작업 중 일부에서 오류가 보고된 것을 발견했습니다. 오류 코드는 1055였습니다. 오류 메시지는 sql_mode의 "only_full_group_by"와 관련이 있었으며 온라인에서 원인을 찾아보니 only_full_group_by 모드가 다음과 같이 활성화되어 있었습니다. mysql5.7에는 대략 두 가지 해결 방법이 있습니다.

첫 번째: SQL 쿼리 문에서 그룹화를 필요로 하지 않는 필드에 any_value() 함수를 사용하세요.

물론 이는 많은 것을 개발한 프로젝트에는 적합하지 않습니다. 결국 원본 SQL을 수정해야 합니다

둘: my.cnf(windows 아래 my.ini) 구성 파일을 수정하고 only_full_group_by 항목을 삭제합니다.

저희 프로젝트의 mysql이 ubuntu에 설치되어 있습니다. 파일을 찾아서 열어보세요. sql_mode 구성 항목이 없으므로 삭제하고 싶어도 하실 필요는 없습니다.

물론, mysql 명령줄을 열고 명령을 실행하는 방법도 있습니다.

select @@sql_mode
로그인 후 복사

이렇게 하면 sql_mode의 값을 알아내고 이 값을 복사한 후 my.cnf에 구성 항목을 추가할 수 있습니다(쿼리된 값은 삭제). only_full_group_by 이 옵션은 다른 항목을 복사합니다.):

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
로그인 후 복사

[mysqld] 행이 주석 처리된 경우 주석을 켜는 것을 잊지 마십시오. 그런 다음 mysql 서비스를 다시 시작하세요.

참고:

set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
로그인 후 복사

명령을 사용하여 한 세션의 구성 항목을 수정하면 다른 세션에는 적용되지 않습니다.

위 내용은 mysql5.7에서 오류 1055를 보고하면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿