code

버그? #1146 - 테이블 'xxx.xxxxxx'가 존재하지 않습니다.

starcafe 2023. 10. 10. 20:46
반응형

버그? #1146 - 테이블 'xxx.xxxxxx'가 존재하지 않습니다.

저는 윈도우 XP를 사용하고 있습니다. 생성 제은 pphMyAdmin합니다입니다. 데이터베이스 이름은 다음과 같습니다.ddd.

다음 코드를 생성합니다.

CREATE TABLE  `ddd`.`mwrevision` (

`asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sddd` INT NOT NULL
) ENGINE = INNODB;

다음 오류가 나타납니다.

MySQL said:     
#1146 - Table 'ddd.mwrevision' doesn't exist 

무엇이 문제일까요?

저도 과거에 같은 문제가 있었습니다.데이터베이스 파일을 새 위치로 이동하고 mysql 서버를 업데이트한 후에 모두 발생했습니다.InnoDB 엔진이 있는 모든 테이블이 제 데이터베이스에서 사라졌습니다.을 재현하려고 데, mysql.1146: Table 'xxx' doesn't exist데이터베이스를 다시 만들고 mysql 서비스를 다시 시작하기 전까지 항상 말입니다.

InnoDB 테이블 바이너리에 대해 읽어봐야 할 것 같습니다.

저도 같은 문제가 있어서 웹상에서 이에 대한 좋은 팁을 얻을 수가 없어서, 여러분과 필요한 모든 분들을 위해 이 내용을 공유했습니다.

내 상황에서는 데이터베이스(모든 파일: frm, myd)를 MySQL 데이터 폴더의 데이터 폴더에 복사합니다(Wamp at home 사용).이었습니다를 이었습니다.#1146 Table '...' doesn't exist!.

저는 MySQL 버전 5.5.16과 함께 Wamp 2.1을 사용합니다.

내 솔루션:

  1. 데이터베이스를 파일로 내보냅니다.

  2. 내보낸 파일이 정말 괜찮은지 확인합니다!!;

  3. 문제가 있는 데이터베이스를 삭제합니다.

  4. 마지막 데이터베이스와 동일한 이름으로 새 데이터베이스를 만듭니다.

  5. 파일을 데이터베이스로 가져옵니다.

저는 문제가 해결되었습니다.이제 오류 없이 테이블을 다시 만들 수 있습니다.

MySQL을 다시 시작하면 잘 됩니다.

제 경우에는 PhpMyAdmin에서 테이블이 보이지 않더라도 이 명령을 실행했습니다.

DROP TABLE mytable

그리고나서

CREATE TABLE....

날 위해 일했다!

파일 이름을 확인합니다.
phpmyadmin에서 가져오려는 데이터베이스와 일치하는 새 데이터베이스를 만들어야 할 수도 있습니다.

저도 같은 문제가 있었습니다.mysql에 테이블을 작성하려고 했는데 같은 오류가 발생했습니다.mysql server를 재시작하고 명령어를 실행하여 restate 후 table을 생성/migration 할 수 있었습니다.

오늘도 저는 같은 문제에 직면했습니다.나는 매우 어려운 상황에 처했지만 무엇을 id로 다른 이름의 테이블을 만들었는지 예를 들어 (modulemaster가 생성되지 않은 후 modulemaster1을 생성함) 테이블을 만든 후 이름 변경 테이블만 수행합니다.

저는 오늘도 같은 문제에 봉착했습니다.다를 했습니다.users"라는.ERROR 1146 (42S02): Table users doesn't exist도 안 뿐이거든요.요. 왜냐면 저는 단지 테이블을 만들려고 했을 뿐이거든요.!!

그런 다음에 타자를 쳐서 테이블을 떨어뜨리려고 했습니다.DROP TABLE users, 그것이 존재하지 않기 때문에 실패할 것이라는 것을 알고 있었고, 나는 다음과 같은 오류를 얻었습니다.Unknown table users후 데 성공했습니다 이 오류가 발생한 후, 저는 다시 테이블을 만들기 위해 노력했고, 마법처럼 테이블을 성공적으로 만들었습니다!

제 직감으로는 아마 전에 이 테이블을 만들었을 것이고 어떻게든 완전히 정리되지는 않았습니다.으로써.DROP TABLE어떻게든 내부 상태를 재설정할 수 있었단 말인가요?하지만 그건 내 추측일 뿐입니다.

간단히 말해, 작성 중인 테이블을 삭제하고 다시 작성해 보십시오.

에서 pprakash가 언급했듯이 table.frm 파일ibdata1 파일을 복사하는 것이 저에게 효과적이었습니다.

간단히 말해서:

  1. DB 탐색기 클라이언트(예: Workbench)를 닫습니다.
  2. MySQL 서비스(윈도우즈 호스트)를 중지합니다.
  3. 거의 모든 것을 안전하게 복사하세요!
  4. 테이블 파일(예: mytable.frm)의 복사본을 스키마 데이터 폴더(예: MySQL Server/data/{yourschema})에 저장합니다.
  5. ibdata1 파일의 복사본을 데이터 폴더(즉, MySQL Server/data)에 저장합니다.
  6. MySQL 서비스를 다시 시작합니다.
  7. 이제 DB 탐색기 클라이언트에서 테이블에 액세스할 수 있는지, 쿼리할 수 있는지 등을 확인합니다.

그 후 모든 것이 잘 되었습니다. (성공을 거두면 백업하는 것도 잊지 마세요!)

열 이름은 테이블에서 고유해야 합니다.다인 은 두 일 수 .asd

CMD & %path%%=에서 mysql/bin으로 설정된 실행

mysql_upgrade -u user -ppassword

최근에 같은 문제가 있었는데 리눅스 서버에서.했습니다를 했습니다. 단순한 복사를 바탕으로 말이죠./var/lib/mysql/*(mysql DATA 폴더(wamp))를 아날로그합니다.복구 후 새 테이블을 만들어야 했고 mysql error #1146을 받았습니다. 시작하려고 할 수 mysql다.mysql히 mysql이 DB다에 .의 소유자 /var/lib/mysql/*가 .'myuser:myuser'(내 사용자는 나다).하지만 그래야 합니다.'mysql:adm' 입니다). 그래서 소유자를 'mysql:adm'으로 변경했습니다.그리고 이 mysql이 정상적으로 시작된 후에 저는 테이블을 만들거나 다른 작업을 할 수 있었습니다.

따라서 데이터베이스 파일을 이동하거나 백업에서 복원한 후에는 mysql에 대한 액세스 권한을 확인합니다.

이게 도움이 되길...

제가 이 문제에 직면한 이유는 제가 두 개의 "models.py " 파일을 가지고 있었기 때문입니다.다음을 통해 해결했습니다.

  1. models.py 파일 중 하나 삭제
  2. 삭제된 파일에 대한 참조 수정
  3. 관리를 실행합니다.py syncdb

제 table.idb 테이블 파일을 다른 위치에서 복사한 후 이 문제가 발생했습니다.이 문제를 해결하기 위해 다음 작업을 수행했습니다.

ALTER TABLE mydatabase.mytable DISCARD TABLESPACE;

내 테이블 복사.idb

ALTER TABLE mydatabase.mytable IMPORT TABLESPACE;

MySql 재시작

저도 같은 문제가 있었습니다.윈도우 시작 오류 이후에 발생한 일인데, 이로 인해 일부 파일이 손상된 것 같습니다.저장된 스크립트에서 DB를 다시 가져오긴 했는데 잘 작동합니다.

트리거가 작동하지 않아 문제가 생겼습니다.트리거를 삭제한 후에 작동했습니다.

의 경우; 의 MySQL ;lower_case_table_names되었습니다(으)로 구성되었습니다.= 0.

대문자 사용과 관련된 쿼리가 작동하지 않게 됩니다.

저는 표 이름 상/하부 케이스 문제였습니다.다에서 .notifications다와 같지 .Notifications하고 MySQL 테이블 네임 케이스와 쿼리를 매칭하고 MySQL Workbench에서 보고한 내용을 수정하였습니다.

더 이상한 것은 이 오류가 worked sql 문에 나타났다는 것입니다.사건에 민감한 원인이 뭔지는 모르겠습니다.아마도 자동 AWS RDS 업데이트.

mysql bin->data dir를 수정하는 경우 데이터베이스 가져오기가 작동하지 않습니다.

그래서 당신은 wamp를 닫고 그 후에 wamp를 시작해야 합니다.

이제 데이터베이스 가져오기가 정상적으로 작동합니다.

오류에 언급된 테이블을 사용하여 작업을 수행하려는 트리거가 없는지 확인합니다. 있었습니다.Error Code: 1146. Table 'exampledb.sys_diagnotics' doesn't exist내 프로덕션 데이터베이스의 다른 테이블에 쿼리를 삽입할 때.프로덕션 데이터베이스의 테이블 스키마를 내보낸 다음 다음 다음의 인스턴스를 검색했습니다.exampledb.sys_diagnotics스키마 SQL과 내 개발 환경의 테이블 트리거에 추가한 디버깅 인서트 문을 찾았지만 이 디버깅 문은 프로덕션에 복사되었습니다.exampledb.sys_diagnotics제 생산 데이터베이스에 테이블이 없었습니다.내 테이블 트리거에서 디버그 문을 제거하여 오류를 해결했습니다.

언급URL : https://stackoverflow.com/questions/6342201/bug-1146-table-xxx-xxxxx-doesnt-exist

반응형