mysql과 doctrine [codeIgniter의 도움으로]에 매우 이상한 문제가 있습니다.doctrine을 사용하여 삽입시 mysql에 중복 된 항목이 있습니다
하나의 테이블에서 모든 레코드를 가져 와서 간단한 프로세스 후에 다른 테이블로 저장하는 간단한 마이그레이션 스크립트를 만들려고합니다.
그러나 내 랩톱에서 [실행중인 Windows 및 Wamp]에서 원본 테이블 레코드의 이중 번호가 대상 테이블에 복사되도록했습니다. 내 동료의 랩톱에서는 모든 것이 잘 작동합니다! 우리는 모두 mysql 5.0.86 [plus plus wamp]를 사용하고 있습니다. 그렇게 단순
function buggy_function(){
$this->db(); //get db connection
$q = Doctrine_Query::create()->from('Oldtable r');
$oldrecords = $q->fetchArray();
$count = 0;
foreach ($oldrecords as $oldrecord){
$newrecord = new NewTableClass();
$newrecord->password = md5($oldrecord['password']);
$newrecord->save();
echo $newrecord->id. ' Id -> saved.'
}
}
: 여기
코드입니다! 나는 올드 테이블에 39 개의 레코드를 가지고 있으며 고유 한 기본 키를 제외하고 정확히 동일한 레코드 인 새로운 테이블에 78 개의 레코드를 얻고 있습니다.마치 스크립트가 두 번 실행되는 것처럼 보입니다. 그러나 스크립트의 출력은 다음과 같습니다.
1 Id -> saved.
2 Id -> saved.
...
...
39 Id -> saved.
왜 이런 일이 발생하는지 알고 있습니까? mysql에 대해 알려진 버그?
고맙습니다. '
중복 요청이라고 말하고 싶습니다. 행의 작성 순서는 무엇입니까? 두 개의 동일한 행이 서로 옆에 있습니까 (자동 증분 방식)? –