2011-04-27 7 views
0

내 프로그램은 정말 간단합니다. 한 열에 같은 값을 삽입하고 다른 열에 타임 스탬프와 날짜를 업데이트합니다. 테이블의 기본 키 역할을하는 자동 증가 ID 열도 있습니다. 나는 즉시 내가 테이블에 데이터를 삽입하는 명령을 실행하려고로 id = 4000Power = 40996dt = recent date time키 기본 mysql에서 중복 항목

붙어있어 순간에

+-------+------------+------+-----+-------------------+-----------------------------+ 
| Field | Type  | Null | Key | Default   | Extra      | 
+-------+------------+------+-----+-------------------+-----------------------------+ 
| id | bigint(20) | NO | PRI | NULL    | auto_increment    | 
| Power | float  | YES |  | NULL    |        | 
| dt | timestamp | NO |  | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | 
+-------+------------+------+-----+-------------------+-----------------------------+ 

, 나는

을 내용의 오류

'기본'키의 중복 항목 '4971'

체크 테이블 :

+----------------+-------+----------+-----------------------------------------------------------+ 
| Table   | Op | Msg_type | Msg_text             | 
+----------------+-------+----------+-----------------------------------------------------------+ 
| newdb.newmeter | check | warning | Table is marked as crashed        | 
| newdb.newmeter | check | warning | 19 clients are using or haven't closed the table properly | 
| newdb.newmeter | check | warning | Size of datafile is: 68816  Should be: 68663   | 
| newdb.newmeter | check | error | Found 4048 keys of 4039         | 
| newdb.newmeter | check | error | Corrupt             | 
+----------------+-------+----------+-----------------------------------------------------------+ 
+1

삽입 검색어는 무엇입니까? – piotrm

+0

newdb.newmeter (전원) 값에 삽입 (40997); – rasmalai

+0

@piotrm newdb.newmeter (전원) 값에 삽입 (40997); – rasmalai

답변

1

데이터를 백업하십시오. mysqld를 종료 할 수 있다면 그것을 수행하고 myisamchk을 사용하여 테이블을 복구해야합니다. 옵션이 아닌 경우 FLUSH TABLES를 시도하십시오. 및 REPAIR TABLE newmeter; 매우 정확한 테이블의 데이터를 준비하십시오.

+0

piotrm "repair table"이 작동하고 이제 같은 테이블을 다시 사용할 수있게되었습니다. 하지만 이건 정말 오랜 시간이 데이터베이스를 구축 할 시간이 걸릴 것 같아요 올해의 시간을 내가 확신 할 수있는 일을 내가 확신 할 수있는 파일을 MySQL에 똑바로 덤프 수 있도록 날짜 시간 스탬프 년. 어떠한 제안? 도움을 많이 주셔서 고마워요 – rasmalai

+1

나는 엑셀이나 mysql 자체와 관련이없는 것을 사용하지 말 것을 조언합니다. mysql 온라인 매뉴얼에있는 지시 사항을 사용하여 백업 한 테이블 파일의 사본을 항상 가지고 있는지 확인하고 다른 것들을 시도하십시오. http://dev.mysql.com/doc/refman/5.6/en/myisam-repair.html – piotrm