Estoy muy perturbado por este comportamiento extraño que veo en el auto_increment
valor registrado en el bidID de una tabla de ofertas después de realizar una inserción masiva utilizando un procedimiento almacenado:
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 ejemplo, si el auto_increment
valor de bidID es 101 al inicio e inserté 100 filas, el valor final se convierte en 213 en lugar de 201. Sin embargo, los bidID de esas filas insertadas se ejecutan secuencialmente hasta un máximo de 201.
Habiendo comprobado lo siguiente,
SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
No tengo idea de por qué está sucediendo. ¿Qué podría estar causando el salto en el auto increment
valor?
show variables like '%innodb_autoinc_lock_mode%';
salida?