source

MySQL 자동 증분 열이 10개 증가합니다. 왜죠?

ittop 2023. 8. 15. 11:44
반응형

MySQL 자동 증분 열이 10개 증가합니다. 왜죠?

개체 ID를 Int 또는 Bigint로 만든 테이블이 몇 개 있는데, 두 경우 모두 자동으로 10씩 증가합니다(즉, 첫 번째 삽입은 개체 ID 1, 두 번째 삽입은 개체 ID 11, 세 번째 삽입은 개체 ID 21 등).두 가지 질문:

  1. 왜 그럴까요?

  2. 그것이 문제입니까?

변경하지 마십시오.auto_increment_incrementClearDB는 고의로 이 작업을 수행하고 있습니다.설명서에 설명되어 있습니다.

ClearDB는 순환 복제를 사용하여 마스터 마스터 MySQL 지원을 제공합니다.따라서 모든 경우에 한 마스터가 다른 마스터와 동일한 키를 사용하지 않도록 auto_increment 키(또는 시퀀스)와 같은 특정 항목을 구성해야 합니다.특정 키를 건너뛰도록 MySQL을 구성하고 사용된 각 키에 대해 특정 오프셋을 사용하도록 MySQL을 적용하여 이 작업을 수행합니다.우리가 2가 아닌 10의 값을 사용하는 이유는 향후 개발을 위해서입니다.

자동 증분의 시드 값이 10으로 설정되지 않았는지 확인하려면 이 항목을 선택합니다.

다음을 통해 확인할 수 있습니다.

SELECT Auto_increment FROM information_schema.tables WHERE table_name='the_table_you_want';

다른 곳에서 언급한 것처럼 시스템 변수 @@set_auto_increment_increment를 사용하여 변경할 수 있습니다.

SET @@auto_increment_increment=1;

값을 하나가 아닌 다른 숫자로 시작하려면 다음을 수행할 수 있습니다.

ALTER TABLE tbl AUTO_INCREMENT = 100;

@Jim Fiorato 링크를 제공해 주셔서 감사합니다.

자동 증분 값이 얼마나 증가하는지 확인하려면 다음 쿼리를 사용합니다.

SHOW VARIABLES LIKE 'auto_inc%';

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 10    |
| auto_increment_offset    | 4     |
+--------------------------+-------+

자동 증분 값은 MySQL 시스템 변수에 설정됩니다.

다음을 참조하십시오. http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#option_mysqld_auto-increment-increment

레코드가 생성되지 않은 경우 IGNORE 속성과 함께 insert를 사용하는 경우 자동 증분 값이 점프할 수 있습니다.

insert IGNORE into my_table set column=1

언급URL : https://stackoverflow.com/questions/206751/mysql-autoincrement-column-jumps-by-10-why

반응형