I am pretty new to MySql and Databases, and I was wondering in python sometimes I forgot to commit after an insert, and then when I do then next insert and commit that one the, auto-incrementing id
column has skipped a number.
So I was wondering what happens when you insert and forget to commit is this bad for the Database? Or does is just skip because when you insert it assigned an id to it but didn't save it?
Thanks
Best Answer
A skipped id can happen in several situation. Keep in mind that an
INSERT
generally starts by allocating all the ids that it may need. Here's a few examples whereAUTO_INCREMENT
ids are 'burned':The one I dislike is:
For that reason, I avoid autocommit=0.
In a multi-master (including Galera) setup, with
auto_increment_increment
> 1, theINSERTs
on one master skip values.