Ich bin sehr beunruhigt über dieses seltsame Verhalten, das ich in dem auto_increment
Wert sehe, der in der bidID einer Bids-Tabelle aufgezeichnet ist, nachdem eine Masseneinfügung mit einer gespeicherten Prozedur durchgeführt wurde:
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;
Wenn der auto_increment
bidID-Wert beispielsweise zu Beginn 101 ist und ich 100 Zeilen eingefügt habe, wird der Endwert 213 anstelle von 201. Die bidIDs dieser eingefügten Zeilen werden jedoch nacheinander bis maximal 201 ausgeführt.
Nachdem Sie Folgendes überprüft haben:
SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
Ich habe keine Ahnung, warum es passiert. Was könnte den Wertsprung verursachen auto increment
?
show variables like '%innodb_autoinc_lock_mode%';
Ausgabe teilen ?