Mysql
 sql >> Database >  >> RDS >> Mysql

La tabella MySQL con ID primario AUTO_INCREMENT non rilascia il numero dopo un rollback

Per motivi di concorrenza, il valore di incremento automatico non può "riportare indietro" la transazione. Se un altro processo avesse inserito record mentre la transazione era in corso, rischieresti una collisione con i loro ID in un secondo momento.

Ad esempio, supponiamo che la tua transazione nel processo "A" afferri gli ID 1,2 e 3. Un altro processo "B" viene eseguito e ottiene gli ID 4 e 5. Se l'identità è stata ripristinata con la transazione e il processo successivo "C" è necessario 5 ID, otterrebbe 1,2,3,4,5 ma 4 e 5 erano già stati presi dal processo "B".