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

Voglio riutilizzare gli spazi vuoti delle righe eliminate

Davvero, non dovresti. Le chiavi primarie dovrebbero essere valori puramente tecnici e privi di significato. Il loro valore e la monotonia della generazione non dovrebbero avere alcuna importanza.

Inoltre, poiché è il PK della riga, avrai potenzialmente decine (o migliaia) di altre righe in altre tabelle che fanno riferimento a questo ID (chiavi esterne), quindi modificarlo nella tabella non sarebbe sufficiente:dovresti cambiare ovunque.

E ci sono buone probabilità che questo ID sia referenziato anche in altre applicazioni (ad esempio, potrebbe far parte di un URL aggiunto ai segnalibri in un browser) e la modifica del suo valore renderebbe tutti questi riferimenti non validi.

Non dovresti mai cambiare una chiave primaria. Dovrebbe essere immutabile, per sempre.

EDIT:ho letto male la domanda. In realtà vuoi riutilizzare un vecchio ID. Anche questa è una cattiva idea. I riferimenti esistenti farebbero riferimento a qualcosa di diverso da quello inizialmente indicato. Questo è ciò che accade quando cambi il tuo numero di telefono e viene riutilizzato da qualcun altro, che inizia a ricevere molte chiamate da persone che pensano ancora che questo numero di telefono sia tuo. Molto noioso. Vuoi evitare questa situazione.