you start at 10, 10 is already a value, it is incremented on 10, and the first piece of data is + 1 = 11
.
1, the self-increment of auto_increment_increment, the interval between the next and the previous one is 10, that is, 11-> 21-> 31-> 41, and so on
2, auto_increment_offset: drift value, that is, step size
The essential logic of
is auto_increment_offset + N auto_increment_increment N, which is calculated from 0 to
.
because the self-growing primary key is a sequence of auto_increment_offset + n * auto-increment-increment
, auto_increment_offset
defaults to 1, so the self-growing value is 1
, 11
, 21
, 31
.
because you set auto_increment=10
, the next self-increment id
is 11
<
Let's verify:
I have created the same table. The current auto_increment
is 14
, and the maximum id
is 13
.
id
id
23
, 24
21
, id
auto_increment_offset + n * auto-increment-increment
11011
1010
auto_increment_%
@eason_li :
auto_increment_increment:
auto_increment_offset:
CREATE TABLESET auto_increment_increment=10;
that is, the initial value is still 1, but each time it increments to 10. That's not what someone said above, starting with 10, and then + 1
.
2. The calculation of self-increment values is always like this, which is correct
.
auto_increment_offset + N auto_increment_increment
but as a result of changing one of the variables, the range of N becomes [1, 1, 2, 3.] The positive integer
in the
refers to the official MySQL document .
If either of these variables is changed, and then new rows inserted into a table containing an AUTO_INCREMENT column, the results may seem counterintuitive because the series of AUTO_INCREMENT values is calculated without regard to any values already present in the column, and the next value inserted is the least value in the series that is greater than the maximum existing value in the AUTO_INCREMENT column. The series is calculated like this:
auto_increment_offset + N auto_increment_increment
where N is a positive integer value in the series [1,2,3,.]
combined with the variable values found in one, the value sequence of the self-increment column should be like this [11 code 21]. Because the create table is followed by a AUTO_INCREMENT=9;
, then the current insert value of the self-increment column should be greater than 9, but it is the smallest in the sequence of self-increment values, that is, 11.
(for example, if AUTO_INCREMENT=19, is defined in create table, it should be greater than 19, and the minimum value is 21)
Portal