이 질문은 내 old question, Getting last record from mysql과 조금 관련이 있습니다.필자의 경우 AUTO_INCREMENT가 제대로 구현 되었습니까?
그 대답에 따르면 SELECT는 (ORDER BY 절을 사용하지 않고) 특정 순서로 행을 반환하지 않을 수 있음을 알게되었습니다.
@YaK 답변에 이어 다음 명령을 사용하여 AUTO_INCREMENT
을 추가했습니다.
ALTER TABLE maxID ADD sequence INT DEFAULT NULL;
ALTER TABLE maxID ADD INDEX(sequence);
ALTER TABLE maxID MODIFY sequence INT AUTO_INCREMENT;
그러나 오늘 나는 하나의 질문을 얻었다.
는SELECT
가 (물론, ORDER BY
절을 사용하지 않고) 어떤 특정 순서로 행을 반환 보장 할 수 없습니다 은 테이블을 변경 THEN 동안, AUTO_INCREMENT
가 제대로 구현 될 것 ?
몇 가지 테스트를 실행 해 보셨습니까? – GregD
@GregD : 아니요. 이전 질문을 읽으면서이 질문을 받았습니다. 또한 수동으로 각 행을 확인해야하고 수천 행이 있기 때문에 테스트를 수행하는 것이 어려울 것입니다 ... –
어떻게 테스트 할 것인가에 달려 있습니다. 나는 (1) AUTO INCREMENT, (2) 샘플 데이터로 채우기, (3) PRIMARY KEY를 떨어 뜨림, (4) AUTO INCREMENT 값으로 새로운 열을 만든 다음, (5) 간단한'SELECT col FROM t WHERE col1! = col2' 트릭을해야합니다. InnoDB와 MyISAM 엔진 사이에는 약간의 차이가있을 수 있다고 생각합니다. – GregD