Je suis très perturbé par ce comportement étrange que je constate dans la auto_increment
valeur enregistrée dans le bidID d'une table Bids après avoir effectué une insertion en bloc à l'aide d'une procédure stockée:
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;
Par exemple, si la auto_increment
valeur bidID est 101 au début et que j'ai inséré 100 lignes, la valeur de fin devient 213 au lieu de 201. Cependant, les bidID de ces lignes insérées s'exécutent séquentiellement jusqu'à un maximum de 201.
Après avoir vérifié les éléments suivants,
SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
Je ne sais pas pourquoi cela se produit. Qu'est-ce qui pourrait provoquer le saut de la auto increment
valeur?
show variables like '%innodb_autoinc_lock_mode%';
sortie?