DEV WIKI
백엔드 · 오류·증상

Table '%s.%s' doesn't exist

MariaDB 오류 코드 1146과 SQLSTATE 42S02에 해당하는 테이블 미존재 오류 메시지를 식별합니다.

빠른 답변

우선 확인할 원인
오류 코드 1146과 SQLSTATE 42S02가 함께 표시되고 메시지가 "Table '%s.%s' doesn't exist" 형식과 일치하면 MariaDB 오류 참조의 ER_NO_SUCH_TABLE 항목입니다.
먼저 확인할 항목
화면 또는 로그의 오류 코드가 `1146`인지 확인합니다.
적용 범위
현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
출처 확인일
2026-07-30
최종 검토
2026-07-24
수정일
2026-07-27
오류·수정 제보 (새 창에서 열림)

현재 증상

  • 애플리케이션 오류 메시지

먼저 확인할 항목

화면 또는 로그의 오류 코드가 `1146`인지 확인합니다.

SQLSTATE가 표시되면 `42S02`인지 확인합니다.

오류 메시지가 `Table '%s.%s' doesn't exist` 형식과 일치하는지 확인합니다.

환경별 원인과 조치

오류 식별

MariaDB 오류 참조에서 ER_NO_SUCH_TABLE은 오류 코드 1146, SQLSTATE 42S02, 메시지 Table '%s.%s' doesn't exist로 등록되어 있습니다.

확인 절차

  1. 현재 화면 또는 로그에서 오류 코드가 1146인지 확인합니다.
  2. SQLSTATE가 함께 표시되면 42S02인지 확인합니다.
  3. 오류 메시지가 Table '로 시작하고 데이터베이스 이름과 테이블 이름 뒤에 ' doesn't exist가 붙는 형식인지 원문 메시지와 대조합니다.

세 값이 원문 항목과 일치하면 이 문서는 해당 오류를 식별하는 데 사용할 수 있습니다.

범위

원문은 이 오류의 복구 방법이나 발생 원인을 제공하지 않습니다. 이 문서는 오류 코드와 메시지의 대조에만 사용합니다.

진단 기록

먼저 문제가 발생한 URL 또는 화면, 표시 시각, 사용한 플랫폼과 배포 버전을 기록합니다. 화면과 로그에서 오류 문자열이 일부만 보이면 앞뒤 문장을 포함해 원문을 보존하고, 민감한 값은 가립니다.

다음 순서로 관찰값을 대조합니다.

  1. 화면 또는 로그의 오류 코드가 1146인지 확인합니다.
  2. SQLSTATE가 표시되면 42S02인지 확인합니다.
  3. 오류 메시지가 Table '%s.%s' doesn't exist 형식과 일치하는지 확인합니다.

각 항목은 확인한 값과 확인하지 못한 이유를 함께 기록해야 합니다. 이 문서의 조건과 실제 관찰값이 다르면 원인을 단정하지 말고, 문제 해결 시작 가이드에서 더 넓은 분기를 선택하십시오.

판정 기준

오류 문자열이 일치한다는 사실만으로 원인이 확정되지는 않습니다. 같은 문구가 여러 환경에서 나타날 수 있으므로 웹서버·런타임·운영체제·최근 변경 사항을 함께 비교합니다. 한 단계에서 기대한 값이 나오지 않으면 다음 단계로 넘어가지 말고 해당 환경의 공식 문서를 우선 확인합니다.

안전한 다음 단계

검사 전에 백업과 변경 이력을 확인하고, 비밀번호·세션 쿠키·인증 토큰·개인정보를 공개 로그나 문의 내용에 넣지 않습니다. 설정·권한·데이터를 변경해야 한다면 영향 범위와 되돌리는 방법을 먼저 기록한 뒤 운영 시간과 승인 절차에 맞춰 진행합니다.

원인 분포

[Observation] 수집된 3건에서는 다음 원인이 각각 1건씩 관측되었습니다.

원인 유형관측 사례 수
이전 테이블 메타데이터 또는 불완전한 삭제 상태1
데이터 파일과 메타데이터 불일치1
InnoDB 시스템 테이블스페이스 정보가 없는 물리 파일 이전1

[Observation] 위 분포는 관측된 사례 기준이며 실제 발생 빈도를 의미하지 않습니다.

오진 함정

[Observation] SHOW TABLES에 테이블이 표시되어도 SELECT에서 테이블 없음 오류가 발생한 사례가 있습니다.

[Observation] 테이블 파일만 다른 서버로 복사하면 InnoDB 시스템 테이블스페이스 정보가 일치하지 않을 수 있습니다.

[Hypothesis] 따라서 테이블 존재 여부만 확인하지 말고 데이터 파일, 메타데이터, InnoDB 시스템 테이블스페이스 정보의 일관성을 함께 확인해야 합니다.

환경 매트릭스

환경 또는 상태증상수정
CREATE TABLE 실행 중 이전 메타데이터 또는 불완전한 삭제 상태ERROR 1146객체 상태 정리 후 테이블 재생성
로컬 XAMPPCREATE TABLE 이후 테이블 없음 오류데이터베이스 복구 후 서버 재시작
다른 서버로 InnoDB 테이블 파일만 복사SHOW TABLES에는 표시되지만 SELECT 실패일관된 물리 백업으로 복원

[Observation] 표의 환경, 증상, 수정은 각 사례 원문에 명시된 내용입니다.

진단 순서

  1. [Observation] 오류가 CREATE TABLE 실행 중 발생했는지, 생성 이후 조회 중 발생했는지 확인합니다.
  2. [Observation] SHOW TABLES에는 테이블이 표시되는지 확인합니다.
  3. [Observation] 데이터 파일과 메타데이터가 일치하는지 확인합니다.
  4. [Observation] 다른 서버에서 물리 파일만 이전했는지 확인하고, InnoDB 시스템 테이블스페이스 정보의 이전 여부를 확인합니다.
  5. [Observation] 원인에 따라 객체 상태 정리 후 재생성, 데이터베이스 복구 후 서버 재시작, 일관된 물리 백업 복원을 적용합니다.

참고 자료

MariaDB Error Code Reference | Server | MariaDB Documentation (새 창에서 열림)

MariaDB · 공식 자료 · 확인 범위: MariaDB 오류 코드 1146의 오류 이름은 ER_NO_SUCH_TABLE입니다., MariaDB 오류 코드 1146의 SQLSTATE는 42S02입니다., MariaDB 오류 코드 1146의 메시지는 "Table '%s.%s' doesn't exist"입니다., MariaDB는 MySQL과 오류 코드를 공유합니다. · 확인일: 2026-07-24

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: CREATE TABLE 실행 중 ERROR 1146이 발생했다., 이전 테이블 메타데이터 또는 불완전한 삭제 상태가 관련되었다., 객체 상태를 정리한 뒤 테이블을 다시 생성해 오류가 해결되었다. · 확인일: 2026-07-30

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: 로컬 XAMPP 환경에서 CREATE TABLE 이후에도 테이블 없음 오류가 발생했다., 데이터 파일과 메타데이터가 일치하지 않았다., 데이터베이스 복구와 서버 재시작 후 정상 조회되었다. · 확인일: 2026-07-30

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: InnoDB 테이블 파일만 다른 서버로 복사한 뒤 SHOW TABLES에는 테이블이 표시되었지만 SELECT에서는 테이블 없음 오류가 발생했다., InnoDB 시스템 테이블스페이스 정보가 함께 이전되지 않았다., 일관된 물리 백업으로 복원해 해결했다. · 확인일: 2026-07-30