ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • mySQL 버전에 따른 쿼리문
    Sql 2023. 6. 25. 20:24

    학원에서 사용하던 쿼리문을 집에서 사용하니

    ### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: 
    Expression 2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'control_third_project.o.order_date' which is not functionally dependent on columns in GROUP BY clause; 
    this is incompatible with sql_mode=only_full_group_by

    다음의 에러가 발생했다.

    같은 mysql이더라도, 버전이 다르면 쿼리문의 이용 방법이 조금 변하는 것 같다.

    위의 문제를 해결하기 위해서

    현제 session에서 어떤 모드가 작동하고 있는지 확인한 후,

    SET SESSION sql_mode = 
    'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

    이용하고 싶지 않은 기능을 제외하고 다시 sql_mode 를 설정해주는 일시적인 방법과

     

     

     

    MySQL를 사용하는 시스템에서 my.cnf 파일에

    SET SESSION sql_mode = 
    'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

    명령어를 실행해서 영구적으로 해당 기능을 사용하지 않도록 설정할 수 있다

    'Sql' 카테고리의 다른 글

    mysql 프로시저 활용하기  (0) 2023.09.07
    중복확인 쿼리문  (0) 2023.09.04
    mySQL 다운받기  (0) 2023.05.07
    mySql Connections 설정 ( IP 주소 이용 )  (0) 2023.04.17
    제약조건 확인, 제약조건 제거  (0) 2023.03.24
Designed by Tistory.