In generale, è una seccatura aggiornare le chiavi primarie in un database poiché questo spesso imposta una catena di aggiornamenti attraverso tutte le tabelle che fanno riferimento a quella chiave primaria. Molti motori ti consentono di forzare l'esecuzione automatica di questo aggiornamento utilizzando l'opzione CASCADE, ma ciò comporta comunque molti aggiornamenti del database altrimenti non necessari.
L'uso normale di chiavi primarie intere autoincrementanti è come valori permanenti, privi di significato e immutabili.
Detto questo, se davvero vuoi aggiornare quelle chiavi, puoi farlo con il comando
UPDATE YourTable SET id = id - 1 WHERE id > (value you deleted)
In alternativa, puoi mantenere una seconda colonna intera, non la chiave primaria della tabella, e aggiornare questa colonna dopo ogni eliminazione.