Меня очень беспокоит это странное поведение, которое я вижу в auto_increment
значении, записанном в bidID таблицы Bids после выполнения массовой вставки с использованием хранимой процедуры:
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;
Например, если auto_increment
значение bidID равняется 101 в начале, и я вставил 100 строк, конечное значение становится 213 вместо 201. Однако, идентификаторы bidID этих вставленных строк последовательно работают максимум до 201.
Проверив следующее,
SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
Я понятия не имею, почему это происходит. Что может быть причиной скачка auto increment
значения?
show variables like '%innodb_autoinc_lock_mode%';
выходом?