Come resettare la chiave primaria di una tabella?
-
05-07-2019 - |
Domanda
Nella mia tabella tbphotos
avevo 100 record. Ho quindi eliminato tutti i record e ora che voglio riavviare l'inserimento dei dati vedo che la mia chiave primaria non parte da 1, ma inizia da 101,
Esiste un modo per ripristinare la chiave primaria?
Sto utilizzando l'account amministratore MySQL.
Soluzione
alter table foo AUTO_INCREMENT = 1
Altri suggerimenti
Puoi ripristinare l'incremento automatico in questo modo:
ALTER TABLE tablename AUTO_INCREMENT = 1
Ma se fai affidamento sui valori di incremento automatico, il tuo programma è molto fragile. Se è necessario assegnare numeri consecutivi ai record affinché il programma funzioni, è necessario creare una colonna separata a tale scopo e non utilizzare un ID di incremento automatico del database per questo scopo.
Se si utilizza TRUNC anziché eliminare manualmente i record, la chiave primaria verrà reimpostata.
Il codice qui sotto è il migliore se hai già alcuni dati nel database ma vuoi resettare l'ID da 1 senza cancellare i dati. Copia ed esegui nel comando SQL
ALTER TABLE members DROP ID;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Questo è lo script migliore per ripristinare l'incremento automatico:
ALTER TABLE foo MODIFICA il tuo incremento di colonna int (11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 1;