현재 시퀀스 번호보다 작은 AUTO_INCRMENT 값을 변경하면 MySQL은 무엇을 반환합니까?

PHPz
풀어 주다: 2023-09-03 20:57:03
앞으로
715명이 탐색했습니다.

当我们更改小于当前序列号的 AUTO_INCRMENT 值时,MySQL 返回什么?

MySQL 열에서 AUTO_INCREMENT를 사용하면 시퀀스 번호는 기본값 1 또는 우리가 지정한 값부터 시작하여 항상 오름차순으로 증가합니다.

이것이 MySQL이 AUTO_INCREMENT 값을 현재 시퀀스 번호보다 작은 값으로 변경하는 것을 허용하지 않는 이유입니다. 다음 예를 통해 이해할 수 있습니다.

Example

이 예에서는 '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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿