>  기사  >  데이터 베이스  >  \"이미 존재하는\" MySQL 테이블을 삭제할 수 없는 이유는 무엇입니까?

\"이미 존재하는\" MySQL 테이블을 삭제할 수 없는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-27 03:37:02670검색

 Why Can't I Drop a MySQL Table That

MySQL 테이블 수수께끼: 존재하지만 존재하지 않음

테이블 생성 또는 변경 중에 "테이블이 이미 존재합니다"라는 역설적인 오류에 직면했지만 " 알 수 없는 테이블"이라는 오류가 발생하여 사용자는 당황하여 문제를 해결할 수 없게 되었습니다.

이상 현상 조사

데이터베이스를 조사한 결과 테이블이 없는 것으로 나타났습니다. 'show tables' 및 'describe'에서는 테이블이 존재하지 않는다고 보고합니다. 놀랍게도 .frm 파일을 찾을 수 없으며 "존재하지 않는 경우 테이블 생성"을 사용하여 테이블을 생성하려는 시도가 실패합니다. 설상가상으로 데이터베이스를 삭제하면 MySQL 충돌이 발생합니다.

가능한 해결 방법

다양한 실패한 시도를 분석한 결과 근본적인 원인은 누락된 테이블 파일에 있는 것으로 보입니다. 데이터 디렉터리에서 해당 데이터 파일이 없는 고아 .frm 파일 또는 그 반대로 인해 이 문제가 발생할 수 있습니다. innodb_file_per_table을 사용하는 경우 영향을 받는 테이블에 대해 .frm 및 .ibd 파일이 모두 존재하는지 확인하십시오. MYISAM의 경우 예상되는 파일은 .frm, .MYI 및 .MYD입니다.

수수께끼 해결

문제를 해결하려면 다음에서 분리된 파일을 수동으로 삭제하세요. 데이터 디렉토리. 이를 통해 영향을 받은 테이블을 성공적으로 생성하거나 삭제할 수 있으며 데이터베이스 충돌 문제를 해결할 수 있습니다.

위 내용은 \"이미 존재하는\" MySQL 테이블을 삭제할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.