는 현재 내가 차 + autoincreamental 값으로 ID로 데이터베이스가 내가 증분 값이 현재 마지막 ID에 큰 차이를 발견PHP와 MySQL 이노 (자동 증분 값 문제)
고유 한 값으로 REFCODE라는 다른 필드 테이블에 16553 행만있는 동안 762480입니다
이 동작을 제거하는 방법이 있습니까? 난 당신이 걱정해야 이전 값 내가 걱정해야
또는 전혀
는 현재 내가 차 + autoincreamental 값으로 ID로 데이터베이스가 내가 증분 값이 현재 마지막 ID에 큰 차이를 발견PHP와 MySQL 이노 (자동 증분 값 문제)
고유 한 값으로 REFCODE라는 다른 필드 테이블에 16553 행만있는 동안 762480입니다
이 동작을 제거하는 방법이 있습니까? 난 당신이 걱정해야 이전 값 내가 걱정해야
또는 전혀
이 문제는 레코드 삭제로 인해 발생할 수 있습니다. 데이터베이스 일관성이 올바르게 설정되어 있으면 모두 정상입니다.
하지만 때로는 실패한 데이터베이스 트랜잭션으로 인해 발생할 수 있습니다. gap이 너무 커서 큰 경우 코드에서 사용한 db 트랜잭션을 확인하는 것이 좋습니다.
실패한 쿼리는 현재 레코드와 일치하는 cron 삽입입니다. – SirNarsh
자동 증가 필드를 포함하지 않는 모든 실패한 쿼리에 대해 알고 있으면 문제가 없습니다. 자동 증가 필드는 이렇게 작동합니다. –
를 삽입 유지하는 크론 스크립트를 원하지 않는다. auto_increment
키는 순차적이지만 테이블의 전체 히스토리를 기준으로합니다. 따라서 많은 레코드를 삭제할 경우 이전 키를 다시 채우지 않거나 전체 테이블을 다시 색인화하여 간격이 없도록하십시오.
삭제 쿼리 또는 업데이트가 없습니다 선택 또는 삽입 사용되며 고유 한 키 또는 다른 행을 자동 증분 증가 일치하지 삽입 된 경우에도 삽입 할 때 추측이 동작을 참조하십시오 ... 그 정상입니다 너무? – SirNarsh
이것이 바로 AUTO_INCREMENT
열이 작동하도록 설계된 방법입니다. AUTO_INCREMENT
의 기본 목표는 항상 고유해야하며 연속적이지 않아야합니다.
연속적인 경우 중복 가능성을 피하기 위해 모든 트랜잭션을 순차적으로 (순차적으로) 실행해야하며 확장 성은 문제가됩니다.
그래서 걱정할 필요가 없습니다.
'걱정 마세요. 행복해 .' 같은 행동이 나타난 다음에 테이블을 수정하십시오. 예를 들어, ID가 1,2,3,4 인 레코드가 4 개 있습니다. 두 번째 레코드를 삭제하면 (1,3,4) 있습니다. 다음에 새 레코드와 : (1,3,4, ** 5 **)를 추가하십시오. – Ivan
쿼리 또는 업데이트가 삭제되지 않습니다. 선택 또는 삽입 만 사용되며 삽입되지 않은 경우에도 고유 한 키 또는 다른 행과 일치하는 레코드를 삽입 할 때 추측됩니다. 너무? – SirNarsh