InnoDB resetuje pole auto_increment, když restartujete databázi.
Když se InnoDB restartuje, najde nejvyšší hodnotu ve sloupci a poté začne odtamtud.
To se v MyISAM nestane, protože ukládá do mezipaměti poslední zvýšené id.
Aktualizovat
Tato funkce/chyba existuje od roku 2003 a může vést k vážným problémům. Vezměte si příklad níže,
-
Tabulka t1 má automatický primární klíč.
-
Tabulka t2 obsahuje sloupec pro primární klíč v t1 bez "omezení cizího klíče". Jinými slovy, když je odstraněn řádek v t1, odpovídající řádky v t2 jsou osamocené.
-
Jak víme s restartem InnoDB, id může být znovu vydán. Osamocené řádky v t2 proto mohou být falešně propojeny s novými řádky v t1.