버그? #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을 사용합니다.
내 솔루션:
데이터베이스를 파일로 내보냅니다.
내보낸 파일이 정말 괜찮은지 확인합니다!!;
문제가 있는 데이터베이스를 삭제합니다.
마지막 데이터베이스와 동일한 이름으로 새 데이터베이스를 만듭니다.
파일을 데이터베이스로 가져옵니다.
저는 문제가 해결되었습니다.이제 오류 없이 테이블을 다시 만들 수 있습니다.
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 파일을 복사하는 것이 저에게 효과적이었습니다.
간단히 말해서:
- DB 탐색기 클라이언트(예: Workbench)를 닫습니다.
- MySQL 서비스(윈도우즈 호스트)를 중지합니다.
- 거의 모든 것을 안전하게 복사하세요!
- 테이블 파일(예: mytable.frm)의 복사본을 스키마 데이터 폴더(예: MySQL Server/data/{yourschema})에 저장합니다.
- ibdata1 파일의 복사본을 데이터 폴더(즉, MySQL Server/data)에 저장합니다.
- MySQL 서비스를 다시 시작합니다.
- 이제 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 " 파일을 가지고 있었기 때문입니다.다음을 통해 해결했습니다.
- models.py 파일 중 하나 삭제
- 삭제된 파일에 대한 참조 수정
- 관리를 실행합니다.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
'code' 카테고리의 다른 글
ASP.IIS 7에서 웹 서비스를 실행하는 사용자 계정은 무엇입니까? (0) | 2023.10.10 |
---|---|
C에 배열의 길이를 돌려주는 표준 함수가 있습니까? (0) | 2023.10.10 |
SQL Server의 큰 테이블에 NOT NULL 열을 추가하는 방법은 무엇입니까? (0) | 2023.10.10 |
Wc_get_products 기능을 WoCommerce에서 사용하기 (0) | 2023.10.10 |
XML 모범 사례: 특성 대 추가 요소 (0) | 2023.10.10 |