sql >> Databasteknik >  >> RDS >> Mysql

ta bort luckor i automatisk ökning

MySQL låter dig inte ändra indexeringen av en Auto-Index-kolumn när den väl har skapats. Vad jag gör är att ta bort Auto-Index-kolumnen och sedan lägga till en ny med samma namn, mysql kommer att indexera den nygenererade kolumnen utan luckor. Gör detta endast på tabeller där Auto-index inte är relevant för resten av data utan bara används som referens för uppdateringar och raderingar.

Till exempel gjorde jag nyligen just det för en tabell som innehåller ordspråk där kolumnen Auto-index bara användes när jag uppdaterade eller raderade ett ordspråk men jag behövde att autoindexet skulle vara sekventiellt eftersom ordspråken dras ut via ett slumpmässigt tal mellan 1 och antalet ordspråk, att ha luckor i sekvensen kunde ha lett till att det slumpmässiga talet pekar på ett icke-existerande index.

HTH



  1. Hur kan du se vilken transaktionsisoleringsnivå en godtycklig orakelsession använder

  2. Begränsning av främmande nyckel kan orsaka cykler eller flera kaskadvägar?

  3. Hur kan jag få databasnamnet jag är ansluten till via Hibernate?

  4. Close kallades aldrig uttryckligen på Database