MySQL 열에서 AUTO_INCREMENT를 사용하면 시퀀스 번호는 기본값 1 또는 우리가 지정한 값부터 시작하여 항상 오름차순으로 증가합니다.
이것이 MySQL이 AUTO_INCREMENT 값을 현재 시퀀스 번호보다 작은 값으로 변경하는 것을 허용하지 않는 이유입니다. 다음 예를 통해 이해할 수 있습니다.
이 예에서는 'emp1'이라는 테이블이 있고 테이블을 생성하는 동안 AUTO_INCREMENT 값을 100으로 지정한다고 가정합니다. 따라서 테이블에 값을 삽입하면 아래 쿼리의 출력에 표시된 대로 시퀀스가 100부터 시작됩니다.
mysql> Select * from emp1; +-----+---------+ | id | NAME | +-----+---------+ | 100 | Sohan | | 101 | Harshit | +-----+---------+ 2 rows in set (0.00 sec)
이제 ALTER TABLE 쿼리의 도움으로 AUTO_INCRMENT 값을 90으로 변경하려고 하면 MySQL 쿼리가 제대로 작동하기 때문에 오류 및 경고를 반환하지 않지만 테이블에 새 값을 삽입하면 MySQL은 지정된 AUTO_INCRMENT 값을 현재 시퀀스 번호와 비교합니다. 지정된 AUTO_INCRMENT 값(90)이 현재 시퀀스 번호(101)보다 작으므로 MySQL은 102부터 새 값을 누적하기 시작합니다. 이는 다음 쿼리에서 확인할 수 있습니다. -
mysql> ALTER TABLE EMP1 AUTO_INCREMENT = 90; Query OK, 2 rows affected (0.31 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> Insert into emp1(name) values('Aryan'); Query OK, 1 row affected (0.08 sec) mysql> Select * from emp1; +-----+---------+ | id | NAME | +-----+---------+ | 100 | Sohan | | 101 | Harshit | | 102 | Aryan | +-----+---------+ 3 rows in set (0.00 sec)
반대로 변경하려고 하면 AUTO_INCRMENT가 현재 시퀀스 번호보다 높으면 MySQL은 지정된 값부터 시작하여 새로운 값을 누적합니다.
테이블에 'emp1'을 더 명확하게 표시하기 위해 AUTO_INCRMENT 값을 현재 시퀀스 번호보다 높은 108로 변경합니다. 그러면 MySQL은 지정된 AUTO_INCRMENT 값(즉, 108부터 시작)부터 새로 삽입된 값을 누적하기 시작합니다.
rreee위 내용은 현재 시퀀스 번호보다 작은 AUTO_INCRMENT 값을 변경하면 MySQL은 무엇을 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!