Estou muito perturbado com esse comportamento estranho que estou vendo no auto_increment
valor registrado no bidID de uma tabela de lances após executar a inserção em massa usando um procedimento armazenado:
INSERT INTO Bids (itemID, buyerID, bidPrice)
SELECT itemID, rand_id(sellerID, user_last_id), FLOOR((1 + RAND())*askPrice)
FROM Items
WHERE closing BETWEEN NOW() AND NOW() + INTERVAL 1 WEEK ORDER BY RAND() LIMIT total_rows;
Por exemplo, se o auto_increment
valor do bidID for 101 no início e eu inserir 100 linhas, o valor final será 213 em vez de 201. No entanto, os bidIDs dessas linhas inseridas serão executados sequencialmente até o máximo de 201.
Tendo verificado o seguinte,
SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
Eu não tenho idéia do por que isso está acontecendo. O que poderia estar causando o salto no auto increment
valor?
show variables like '%innodb_autoinc_lock_mode%';
saída?