2012-06-06 3 views
11

MySQL 서버에서 업데이트를 시도하고 실수로 한 행을 편집해야하는 추가 WHERE 절을 추가하는 것을 잊어 버렸습니다.mysql UPDATE 명령을 취소하십시오.

이제 내 오류로 인해 3500 개 이상의 행을 편집했습니다.

백업이있을 수 있지만 마지막 백업 이후 작업량이 많아서 1 개의 잘못된 쿼리로 인해 낭비하고 싶지 않습니다.

이 문제를 해결하기 위해 할 수있는 일이 있음을 알려주십시오.

+4

나는 당신이 거래를하기를 바랐다. –

+0

불행히도, 백업을하지 않으면 내가 할 수있는 일이 없다고 생각한다. – srchulo

+0

이진 로그가 활성화되어 있습니까? –

답변

5

트랜잭션을 커밋 한 경우 해당 백업을 정리할 시간입니다. 미안합니다. 그러나 이것이 바로 백업의 목적입니다. 나는 한때 나 자신을 한 번 ... 그렇게했다.

8

백업을 새 데이터베이스로 복원 한 다음 교차 데이터베이스 쿼리를 수행하여 이전에 사용한 데이터를 기반으로 해당 열을 업데이트 할 수 있습니까?

+1

전에이 작업을 한 적이 없습니까? 그것을하는 방법에 대한 제안? – Naveen

+1

복원을 위해 - 나는 나의 DBA가 그것을 할 것이다 (나는 DBA가 아니라 개발자 임). 교차 데이터베이스 쿼리의 경우 - 나는 세부 사항을 알지 못하므로 mySQL 담당자가 아닙니다. 그러나 오라클에서는 먼저 schema1에서 schema2의 해당 테이블에서 "select"할 권한을 부여합니다. 그런 다음 schemaName으로 테이블의 접두어를 붙입니다. 따라서 schema1.tablename에서 *를 선택하십시오. – user158017

4

아무것도

그럼에도 불구하고 당신의 벨트 아래서 학습 경험을 얻었고 습관을 어떻게 바꿀 것인지 자랑스러워 할 수있어서 다시 일어날 가능성을 크게 줄일 수 있습니다. 이제 당신은 어린 애들을 가르치고 실제 전투 경험에서 인용 할 수있는 '마스터'가됩니다.

+0

나는이 단계에서 일어났기 때문에 기쁩니다. 그리고 나중에 더 조심하세요. 충격은 그다지 심각하지 않지만, 여전히 영향을줍니다. 그럼에도 불구하고 좋은 학습 경험이었습니다. – Naveen

+0

안녕하세요 @Naveen. 문제를 해결할 수 있었습니까? where 절을 잊어 버리고 머리가 뜨겁습니다. 내 백업이 최근이 아닙니다. –