Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 최근 발생한 경고 확인하는 방법 – SHOW WARNINGS 완벽 가이드

MySQL에서 쿼리 실행 후 발생한 경고나 오류 메시지를 확인하려면 SHOW WARNINGS 명령어를 사용하면 됩니다.

SHOW WARNINGS 기본 문법

SHOW WARNINGS;

사용 시 주의할 점

SHOW WARNINGS는 MySQL 프롬프트에서 바로 직전에 실행한 쿼리에 대한 경고만 표시합니다. 따라서 다음과 같은 경우에는 결과를 확인할 수 없습니다.

  • 경고가 발생한 쿼리와 SHOW WARNINGS 사이에 다른 쿼리를 실행한 경우
  • MySQL 연결이 끊긴 후 다시 접속한 경우

즉, 경고를 확인하려면 오류가 발생한 직후 바로 실행해야 합니다.

실행 예제

다음과 같이 SHOW WARNINGS 명령어를 입력합니다.

mysql> SHOW WARNINGS;

실행 결과로 직전 쿼리의 경고 정보가 테이블 형태로 출력됩니다.

+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Level | Code | Message                                                                                                                                                       |
+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'QUERY CACHE' at line 1 |
+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

출력 결과 해석

결과 테이블은 세 개의 컬럼으로 구성됩니다.

  • Level: 메시지의 심각도 수준 (Error, Warning, Note 등)
  • Code: MySQL 오류/경고 코드 번호
  • Message: 구체적인 오류 또는 경고 내용

위 예제에서는 SQL 문법 오류(코드 1064)가 발생했음을 알 수 있습니다. 'QUERY CACHE' 부근의 문법이 현재 사용 중인 MySQL 서버 버전의 매뉴얼과 일치하지 않는다는 안내 메시지가 출력된 것입니다.

함께 알아두면 좋은 관련 명령어

  • SHOW ERRORS;: 경고가 아닌 오류(Error) 수준의 메시지만 표시합니다.
  • SELECT @@warning_count;: 마지막 쿼리에서 발생한 경고의 개수만 확인할 수 있습니다.
  • SELECT @@error_count;: 마지막 쿼리에서 발생한 오류의 개수를 확인할 수 있습니다.

디버깅 작업 시 이 명령어들을 함께 활용하면 쿼리 문제를 더 빠르게 파악할 수 있습니다.