2012-06-24 5 views

답변

2

입니다. 전체 명령이 완료되고 트랜잭션이 커밋 될 때까지 행이 삭제되지 않습니다. 넌 인내가 필요해.

WHERE 절이 실제로 일부 행과 일치하는지 확인합니다. 이 10 개의 행을 반환하는 경우

SELECT * 
FROM `messages` 
WHERE last_change < 1332201600 && last_change !=0 
LIMIT 10 

을 (그리고 문제의 정보가 올 경우는한다) 다음 원래 DELETE 문은 적어도 그 10 개 행을 삭제합니다 :이 문을 실행 해보십시오.

+0

문제는 쿼리가 완료되지만 행 –

+0

@babakfaghihian을 삭제하지 : 당신은 트랜잭션 내에서 실행나요? 거래를 저지른 적이 있습니까? "x rows affected"라고했을 때 알았습니까? x의보고 된 가치가 무엇인지 기억할 수 있습니까? –

+0

이 행을 삭제해야합니까 내 질문에 행이 삭제되지 않습니다? –

2

아마 문제와 운영자이며, 그것은해야한다 :

DELETE FROM `messages` WHERE last_change < 1332201600 AND last_change !=0 
+1

[AND 및 &&] (http://dev.mysql.com/doc/refman/5.6/en/logical-operators.html#operator_and)는 동일합니다. (나는'AND'를 사용하는 것이 더 낫다고 동의하지만 문제를 해결할 것이라고는 생각하지 않는다.) –

+0

나는 동의한다. 그리고 나는 더 멀리 갈 것이다 :'... 어디에서 last_change < '2012-06-23 12:00 am'and last_change <> 0' – paulsm4

관련 문제