sql >> Database >  >> RDS >> Mysql

Waarom is er soms een of meer hiaten in de waarde van de kolom voor automatisch verhogen?

Het lijkt iets te maken te hebben met hoe uw INSERT-instructies worden gevormd. Zie deze viool , die enigszins is gewijzigd ten opzichte van uw voorbeeld. In dit geval krijg je geen hiaten (maar waarschijnlijk wel als je meer tussenvoegsels toevoegt... in feite wel .).

EDIT:Na een klein beetje meer graven, ontdekte ik dat je geen gaten krijgt als je de MyISAM-engine gebruikt (in tegenstelling tot InnoDB). Dus misschien is het een fout of een merkwaardige ontwerpkeuze in InnoDB...?

EDIT 2:Verder graven heeft deze bug onthuld , ingediend tegen de InnoDB-opslagengine. Het sluit nauw aan bij de use-case van de oorspronkelijke vraag. Er is geen oplossing voor de bug gegeven, maar het lijkt erop dat een oplossing is om innodb_autoinc_lock_mode in te stellen naar 0 in uw my.cnf-bestand vóór het opstarten van mysqld.




  1. MySql - langzaam verzendende gegevensfase

  2. Booleaanse velden indexeren

  3. PostgreSQL-replicatieslots gebruiken

  4. Een model verplaatsen tussen twee Django-apps (Django 1.7)